Sha256: 9f2d36caed64d6dafd5c1be0da52679773419adeea4f2f01612af39a67842d24
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
Dir[File.expand_path('../models/*.rb', __FILE__)].each { |f| require f } module RedmineRest # # Namespace for models + some self-methods # module Models LIST = [Issue, User, Project, IssueStatus, TimeEntry, Relation].freeze def self.configure_models(params) ModelConfigurator.new.configure_models(params) end # # Class for self-methods. Dont use it outside this module # class ModelConfigurator def configure_models(params) site = params[:site] || Issue.site user = user_for_models(params) password = params.key?(:password) ? params[:password] : Issue.password change_models_params site: site, user: user, password: password end private def change_models_params(params) Models::LIST.each do |m| m.site = params[:site] m.user = params[:user] m.password = params[:password] end end def user_for_models(params) fail(ArgumentError, 'user + apikey was given') if params[:user] && params[:apikey] params[:user] || params[:apikey] || Issue.user end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
redmine_rest-0.5.0 | lib/redmine_rest/models.rb |
redmine_rest-0.4.0 | lib/redmine_rest/models.rb |
redmine_rest-0.3.0 | lib/redmine_rest/models.rb |