class IronHide::Storage::CouchdbAdapter
Constants
- VERSION
Public Instance Methods
where(opts = {})
click to toggle source
@option opts [String] :resource required @option opts [String] :action required @return [Array<Hash>] array of canonical JSON representation of rules
# File lib/iron_hide/storage/couchdb_adapter.rb, line 13 def where(opts = {}) self["#{opts.fetch(:resource)}::#{opts.fetch(:action)}"] end
Private Instance Methods
[](val)
click to toggle source
Implements an interface that makes selecting rules look like a Hash: @example
{ 'com::test::TestResource::read' => { ... } } adapter['com::test::TestResource::read'] #=> [Array<Hash>]
@param [Symbol] val @return [Array<Hash>] array of canonical JSON representation of rules
# File lib/iron_hide/storage/couchdb_adapter.rb, line 30 def [](val) response = couchd_db_rules(val) if response.response_code == 200 MultiJson.load(response.response_body)["rows"].reduce([]) do |rval, row| rval << row["value"] end else # Do Something end end
couchd_db_rules(val)
click to toggle source
# File lib/iron_hide/storage/couchdb_adapter.rb, line 41 def couchd_db_rules(val) Typhoeus.get( "#{server}/#{database}/_design/rules/_view/resource_rules?key=\"#{val}\"" ) end
database()
click to toggle source
# File lib/iron_hide/storage/couchdb_adapter.rb, line 51 def database IronHide.configuration.couchdb_database end
server()
click to toggle source
# File lib/iron_hide/storage/couchdb_adapter.rb, line 47 def server IronHide.configuration.couchdb_server end