Class: Bankin::Resource
- Inherits:
-
Object
show all
- Defined in:
- lib/bankin/resource.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(data, token = nil) ⇒ Resource
Returns a new instance of Resource.
3
4
5
6
7
|
# File 'lib/bankin/resource.rb', line 3
def initialize(data, token = nil)
@token = token
generate_attr_readers
set_data(data)
end
|
Class Method Details
.auth_delegate(name, options) ⇒ Object
80
81
82
83
84
85
|
# File 'lib/bankin/resource.rb', line 80
def auth_delegate(name, options)
define_method(name) do |*args|
klass = Object.const_get("Bankin::#{options[:class]}")
klass.send(options[:method], self.token, *args)
end
end
|
.collections ⇒ Object
76
77
78
|
# File 'lib/bankin/resource.rb', line 76
def collections
@collections || []
end
|
.fields ⇒ Object
68
69
70
|
# File 'lib/bankin/resource.rb', line 68
def fields
@fields || [:resource_type, :resource_uri]
end
|
.has_collection(name, klass) ⇒ Object
95
96
97
98
|
# File 'lib/bankin/resource.rb', line 95
def has_collection(name, klass)
@collections = collections << { name: name, klass: klass }
attr_reader :"#{name}_ids"
end
|
.has_fields(*new_fields) ⇒ Object
87
88
89
|
# File 'lib/bankin/resource.rb', line 87
def has_fields(*new_fields)
@fields = (fields + new_fields).uniq
end
|
.has_resource(name, klass) ⇒ Object
91
92
93
|
# File 'lib/bankin/resource.rb', line 91
def has_resource(name, klass)
@resources = resources << { name: name, klass: klass }
end
|
.resources ⇒ Object
72
73
74
|
# File 'lib/bankin/resource.rb', line 72
def resources
@resources || []
end
|
Instance Method Details
#collections ⇒ Object
17
18
19
|
# File 'lib/bankin/resource.rb', line 17
def collections
self.class.collections
end
|
#fields ⇒ Object
9
10
11
|
# File 'lib/bankin/resource.rb', line 9
def fields
self.class.fields
end
|
#resources ⇒ Object
13
14
15
|
# File 'lib/bankin/resource.rb', line 13
def resources
self.class.resources
end
|