Module: HaveAPI
- Defined in:
- lib/haveapi.rb,
lib/haveapi/api.rb,
lib/haveapi/hooks.rb,
lib/haveapi/route.rb,
lib/haveapi/action.rb,
lib/haveapi/common.rb,
lib/haveapi/params.rb,
lib/haveapi/server.rb,
lib/haveapi/context.rb,
lib/haveapi/example.rb,
lib/haveapi/version.rb,
lib/haveapi/metadata.rb,
lib/haveapi/resource.rb,
lib/haveapi/spec/helpers.rb,
lib/haveapi/authorization.rb,
lib/haveapi/model_adapter.rb,
lib/haveapi/actions/default.rb,
lib/haveapi/extensions/base.rb,
lib/haveapi/output_formatter.rb,
lib/haveapi/authentication/base.rb
Defined Under Namespace
Modules: Actions, ApiBuilder, Authentication, Extensions, Hookable, Hooks, ModelAdapters, OutputFormatters, Parameters, SpecMethods Classes: Action, Authorization, Common, Context, Example, Metadata, ModelAdapter, OutputFormatter, Params, Resource, Route, Server, ValidationError
Constant Summary collapse
- VERSION =
'0.3.1'
Class Method Summary collapse
- .default_authenticate ⇒ Object
-
.filter_resources(module_name) ⇒ Object
Iterate through all resources and return those for which yielded block returned true.
-
.get_version_resources(module_name, v) ⇒ Object
Return list of resources for version
v. -
.get_versions(module_name) ⇒ Object
Return a list of all API versions.
- .module_name ⇒ Object
-
.resources(module_name) ⇒ Object
Return a list of all resources or yield them if block is given.
- .set_default_authenticate(chain) ⇒ Object
- .set_module_name(name) ⇒ Object
Class Method Details
.default_authenticate ⇒ Object
63 64 65 |
# File 'lib/haveapi/api.rb', line 63 def self.default_authenticate @default_auth end |
.filter_resources(module_name) ⇒ Object
Iterate through all resources and return those for which yielded block returned true.
23 24 25 26 27 28 29 30 31 |
# File 'lib/haveapi/api.rb', line 23 def self.filter_resources(module_name) ret = [] resources(module_name) do |r| ret << r if yield(r) end ret end |
.get_version_resources(module_name, v) ⇒ Object
Return list of resources for version v.
34 35 36 37 38 |
# File 'lib/haveapi/api.rb', line 34 def self.get_version_resources(module_name, v) filter_resources(module_name) do |r| r.version.is_a?(Array) ? r.version.include?(v) : (r.version == v || r.version == :all) end end |
.get_versions(module_name) ⇒ Object
Return a list of all API versions.
41 42 43 44 45 46 47 48 49 |
# File 'lib/haveapi/api.rb', line 41 def self.get_versions(module_name) ret = [] resources(module_name) do |r| ret << r.version unless ret.include?(r.version) end ret end |
.module_name ⇒ Object
55 56 57 |
# File 'lib/haveapi/api.rb', line 55 def self.module_name @module_name end |
.resources(module_name) ⇒ Object
Return a list of all resources or yield them if block is given.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/haveapi/api.rb', line 3 def self.resources(module_name) # yields: resource ret = [] module_name.constants.select do |c| obj = module_name.const_get(c) if obj.obj_type == :resource if block_given? yield obj else ret << obj end end end ret end |
.set_default_authenticate(chain) ⇒ Object
59 60 61 |
# File 'lib/haveapi/api.rb', line 59 def self.set_default_authenticate(chain) @default_auth = chain end |
.set_module_name(name) ⇒ Object
51 52 53 |
# File 'lib/haveapi/api.rb', line 51 def self.set_module_name(name) @module_name = name end |