lib/cistern/client.rb in cistern-2.2.3 vs lib/cistern/client.rb in cistern-2.2.4
- old
+ new
@@ -1,7 +1,6 @@
module Cistern::Client
-
module Collections
def collections
service.collections
end
@@ -9,11 +8,11 @@
service.requests
end
end
# custom include
- def self.with(options={})
+ def self.with(options = {})
client_module = Module.new
custom_include = <<-EOS
def self.included(klass)
Cistern::Client.setup(klass, #{options.inspect})
@@ -27,26 +26,26 @@
client_module
end
# vanilla include
def self.included(klass)
- self.setup(klass)
+ setup(klass)
super
end
- def self.setup(klass, options={})
- request_class = options[:request] || "Request"
- collection_class = options[:collection] || "Collection"
- model_class = options[:model] || "Model"
- singular_class = options[:singular] || "Singular"
+ def self.setup(klass, options = {})
+ request_class = options[:request] || 'Request'
+ collection_class = options[:collection] || 'Collection'
+ model_class = options[:model] || 'Model'
+ singular_class = options[:singular] || 'Singular'
interface = options[:interface] || :class
interface_callback = (:class == interface) ? :inherited : :included
unless klass.name
- raise ArgumentError, "can't turn anonymous class into a Cistern service"
+ fail ArgumentError, "can't turn anonymous class into a Cistern service"
end
klass.class_eval <<-EOS, __FILE__, __LINE__
module Collections
include ::Cistern::Client::Collections
@@ -154,15 +153,22 @@
klass::Real.send(:extend, Cistern::WaitFor)
klass::Real.timeout_error = klass::Timeout
end
module ClassMethods
+ def mock!
+ @mocking = true
+ end
- def mock!; @mocking = true; end
- def mocking?; @mocking; end
- def unmock!; @mocking = false; end
+ def mocking?
+ @mocking
+ end
+ def unmock!
+ @mocking = false
+ end
+
def collections
@collections ||= []
end
def models
@@ -184,74 +190,74 @@
def requests
@_requests ||= []
end
def requires(*args)
- self.required_arguments.concat(args)
+ required_arguments.concat(args)
end
def recognizes(*args)
- self.recognized_arguments.concat(args)
+ recognized_arguments.concat(args)
end
- def validate_options(options={})
+ def validate_options(options = {})
required_options = Cistern::Hash.slice(options, *required_arguments)
missing_required_options = required_arguments - required_options.keys
unless missing_required_options.empty?
- raise "Missing required options: #{missing_required_options.inspect}"
+ fail "Missing required options: #{missing_required_options.inspect}"
end
unrecognized_options = options.keys - (required_arguments + recognized_arguments)
unless unrecognized_options.empty?
- raise "Unrecognized options: #{unrecognized_options.inspect}"
+ fail "Unrecognized options: #{unrecognized_options.inspect}"
end
end
def setup
return true if @_setup
requests.each do |klass|
name = klass.service_method ||
- Cistern::String.camelize(Cistern::String.demodulize(klass.name))
+ Cistern::String.camelize(Cistern::String.demodulize(klass.name))
Cistern::Request.service_request(self, klass, name)
end
collections.each do |klass|
name = klass.service_method ||
- Cistern::String.underscore(klass.name.gsub("#{self.name}::", "").gsub("::", ""))
+ Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', ''))
Cistern::Collection.service_collection(self, klass, name)
end
models.each do |klass|
name = klass.service_method ||
- Cistern::String.underscore(klass.name.gsub("#{self.name}::", "").gsub("::", ""))
+ Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', ''))
Cistern::Model.service_model(self, klass, name)
end
singularities.each do |klass|
name = klass.service_method ||
- Cistern::String.underscore(klass.name.gsub("#{self.name}::", "").gsub("::", ""))
+ Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', ''))
Cistern::Singular.service_singular(self, klass, name)
end
@_setup = true
end
- def new(options={})
+ def new(options = {})
setup
validate_options(options)
- self.const_get(self.mocking? ? :Mock : :Real).new(options)
+ const_get(self.mocking? ? :Mock : :Real).new(options)
end
def reset!
- self.const_get(:Mock).reset!
+ const_get(:Mock).reset!
end
end
end