Skip to content

Instantly share code, notes, and snippets.

@hyphenPaul
Created June 17, 2015 19:20
Show Gist options
  • Save hyphenPaul/0b8dadc0b63958ab90c0 to your computer and use it in GitHub Desktop.
Save hyphenPaul/0b8dadc0b63958ab90c0 to your computer and use it in GitHub Desktop.
class CoolClass < MyService
api CoolClassApi
def service_params
params.slice(
:some_junk
)
end
def build_user
user = get_weblinc_user
end
def build_order
order = get_weblinc_order
# manipulate order
end
end
class MyServices
attr_accessor api
attr_reader return
def self.api(api)
@api = api
end
def initilize(objects, params)
@objects = objects
@params = params
objects.each do |object|
define_method("get_#{x.class.name.underscore}") do
return object
end
end
end
def process(persistent = false)
@return = call_service
build_objects
object.each(&:save!) if persistent
objects
end
def call_service
api.new(service_params)
end
def build_object
objects.each { |x| send("build_#{x.class.name.underscore}")}
end
def parse_response
# not implemented error
end
end
@BeerInHand
Copy link

right on

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment