class ThisData::Configuration
Constants
- JS_COOKIE_NAME
ThisData's JS library (optional) adds a cookie with this name
Attributes
defaults[R]
Public Class Methods
config_option(name)
click to toggle source
Programatically create attr accessors for config_option
# File lib/this_data/configuration.rb, line 10 def self.config_option(name) define_method(name) do read_value(name) end define_method("#{name}=") do |value| set_value(name, value) end end
new()
click to toggle source
# File lib/this_data/configuration.rb, line 55 def initialize @config_values = {} # set default attribute values @defaults = OpenStruct.new({ async: true, user_method: :current_user, user_id_method: :id, user_name_method: :name, user_email_method: :email, user_mobile_method: :mobile, expect_js_cookie: false, base_uri: 'https://api.thisdata.com/v1/' }) end
Public Instance Methods
[](key)
click to toggle source
# File lib/this_data/configuration.rb, line 71 def [](key) read_value(key) end
[]=(key, value)
click to toggle source
# File lib/this_data/configuration.rb, line 75 def []=(key, value) set_value(key, value) end
Private Instance Methods
read_value(name)
click to toggle source
# File lib/this_data/configuration.rb, line 81 def read_value(name) if @config_values.has_key?(name) @config_values[name] else @defaults.send(name) end end
set_value(name, value)
click to toggle source
# File lib/this_data/configuration.rb, line 89 def set_value(name, value) @config_values[name] = value end