class Gamifier::DSL::Network
Attributes
api_keys[R]
sites[R]
source[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/gamifier/dsl/network.rb, line 13 def initialize(*args) @source = ::Gamifier::Network.new(*args) @sites = [] @api_keys = [] end
Public Instance Methods
api_key(&block)
click to toggle source
# File lib/gamifier/dsl/network.rb, line 35 def api_key(&block) new_key = DSL::ApiKey.new new_key.source.engine = enterprise_engine @api_keys.push(new_key) DSL.eval_with_context(new_key, &block) end
engine()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 19 def engine @engine ||= Gamifier::Engine.new(:key => get_key('private') || Gamifier.config[:key]) end
enterprise_engine()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 23 def enterprise_engine raise ArgumentError, "You must specify an enterprise key" unless Gamifier.config[:enterprise_key] @enterprise_engine ||= Gamifier::Engine.new(:key => Gamifier.config[:enterprise_key]) end
get_key(access = 'private')
click to toggle source
# File lib/gamifier/dsl/network.rb, line 71 def get_key(access = 'private') key = self.api_keys.select {|k| k.access == access}.first return key.key if key nil end
method_missing(*args, &block)
click to toggle source
# File lib/gamifier/dsl/network.rb, line 81 def method_missing(*args, &block) source.send(*args, &block) end
save!()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 77 def save! save_sites! end
save_api_keys!()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 53 def save_api_keys! api_keys.each do |key| key.engine = enterprise_engine key.network_id = self.id key.save end end
save_network!()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 43 def save_network! begin if self.save save_api_keys! end rescue Gamifier.logger.debug "Can't save #{self}" end end
save_sites!()
click to toggle source
# File lib/gamifier/dsl/network.rb, line 61 def save_sites! sites.each do |site| if gsite = engine.sites.find(site.url) site._id = gsite._id end site.engine = engine site.save end end
site(name, &block)
click to toggle source
# File lib/gamifier/dsl/network.rb, line 28 def site(name, &block) new_site = DSL::Site.new(:name => name) @sites.push(new_site) DSL.eval_with_context(new_site, &block) end