- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Using a custom adapter
        Johann edited this page Dec 8, 2018 
        ·
        6 revisions
      
    To have more details on how to create your adapter, have a look at Creating your adapter wiki page
# Get your learner instance
knowledge = Knowledge::Learner.new
# Register your adapter
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter)# Get your learner instance
knowledge = Knowledge::Learner.new
# Get your variables
variables = { super_secret_key: 's3cret' }
# Register your adapter
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter, variables: variables)# Get your learner instance
knowledge = Knowledge::Learner.new
# Register and enable your adapter
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter, enable: true)Note that if your adapter had been enabled, it will be disabled by unregister method.
knowledge = Knowledge::Learner.new
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter)
# Somewhere else in the code, unregister your adapter
knowledge.unregister_adapter(name: :custom)To enable an adapter you must have registered it before.
If you try to enable an unregistered adapter, you may have a Knowledge::AdapterNotFound error.
knowledge = Knowledge::Learner.new
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter)
# Somewhere else in the code, enable your adapter
knowledge.enable_adapter(name: :custom)knowledge = Knowledge::Learner.new
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter)
# Get your variables
variables = { super_secret_key: 's3cret' }
# Somewhere else in the code, enable your adapter
knowledge.enable_adapter(name: :custom, variables: variables)knowledge = Knowledge::Learner.new
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter, enable: true)
# Somewhere else in the code, disable your adapter
knowledge.disable_adapter(name: :custom)# Get your learner instance
knowledge = Knowledge::Learner.new
variables = { super_secret_key: 's3cret' }
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter, variables: variables, enable: true)
# And add as many additional params as you need.
knowledge.add_adapter_params(adapter: :custom, params: { base_path: '/api/v1/' })# Get your learner instance
knowledge = Knowledge::Learner.new
variables = { super_secret_key: 's3cret' }
knowledge.register_adapter(name: :custom, klass: MyCustomAdapter, variables: variables, enable: true)
# And add as many additional params as you need.
knowledge.add_adapter_param(adapter: :custom, name: :base_path, value: '/api/v1/')