class ShiftPlanning::Client
Attributes
connection[R]
Public Class Methods
new(key)
click to toggle source
# File lib/shift_planning/client.rb, line 8 def initialize(key) @connection = ShiftPlanning::Connection.new(key) draw_routes end
Private Instance Methods
api_module(name, &block)
click to toggle source
# File lib/shift_planning/client.rb, line 364 def api_module(name, &block) mod = Class.new(ShiftPlanning::ApiModule) block.call(mod) self.class.class_eval { attr_reader name } instance_variable_set "@#{ name }", mod.new(connection, name) end
draw_routes()
click to toggle source
# File lib/shift_planning/client.rb, line 15 def draw_routes # API map api_module :staff do |m| m.get :login, [:username, :password] m.get :logout m.get :employees m.create :employees m.get :employee m.create :employee m.update :employee, [:id] m.delete :employee, [:id] m.get :skills m.get :skill, [:id] m.create :skill, [:name] m.update :skill, [:id, :name] m.delete :skill, [:id] m.get :customfields m.get :customfield, [:id] m.create :customfield, [:name, :type] m.update :customfield, [:id] m.delete :customfield, [:id] m.create :ping, [:to, :message] m.update :formatcheck, [:type] m.get :leavetypes m.update :leavetypes, [:id] end api_module :terminal do |m| m.get :login, [:terminal_key] m.get :clockin, [:terminal_key] m.get :clockout, [:terminal_key] end api_module :location do |m| m.get :locations m.get :location, [:id] m.create :location, [:name, :type] m.update :location, [:id] m.delete :location, [:id] end api_module :api do |m| m.get :methods m.get :config end api_module :timeclock do |m| m.get :timeclocks m.get :timeclock, [:id] m.create :timeclock, [:start_date, :schedule, :employee, :start_time] m.update :timeclock, [:id] m.delete :timeclock, [:id] m.get :clockin m.get :preclockin m.create :preclockin m.get :preclockins m.get :clockout m.get :status m.get :manage, [:id, :action] m.get :screenshots m.create :screenshot, [:filedata] m.create :event, [:timeclock, :type] m.update :event, [:timeclock, :type] m.delete :event, [:timeclock, :type, :event] m.get :timesheets m.get :addclocktime, [:employee, :datein] m.get :savenote, [:id] m.get :forceclockout, [:id] m.create :location, [:name] m.delete :location, [:id] m.create :terminal, [:name, :location] m.update :terminal, [:id] m.delete :terminal, [:id] end api_module :schedule do |m| m.get :schedules m.get :schedule, [:id] m.create :schedule, [:name] m.update :schedule, [:id] m.delete :schedule, [:id] m.get :shifts m.get :shift, [:id] m.create :shift, [:start_time, :end_time, :start_date, :end_date] m.update :shift, [:id] m.delete :shift, [:id] m.get :shiftapprove, [:id] m.create :shiftapprove, [:id] m.update :shiftapprove #? m.delete :shiftapprove, [:id] m.get :trades m.get :trade, [:id] m.create :trade, [:shift, :tradewith, :reason] m.update :trade, [:trade, :action] m.get :tradelist, [:id] m.create :tradeswap, [:shift, :swap, :reason] m.update :tradeswap, [:trade, :action] m.get :vacations m.get :vacation, [:id] m.create :vacation, [:start_date, :end_date] m.update :vacation, [:id] m.delete :vacation, [:id] m.get :collisions, [:start_date, :end_date] m.get :conflicts m.get :copy, [:from_start, :from_end, :to_start, :to_end] m.get :clear m.get :restore m.get :wizard, [:from_start, :from_end, :to_start, :to_end] m.update :adjust, [:from, :to, :budge] m.get :fill, [:shifts] m.get :publish, [:shifts] m.update :requests, [:id, :type, :mode] m.create :ical, [:url, :name] m.update :ical, [:ical_id] m.get :ical # [:id] ? m.delete :ical # [:ical_id] ? m.create :ical_events, [:ical_id] m.update :ical_events #? m.get :ical_events m.delete :ical_events # [:ical_event_id] ? m.get :breakrule, [:id] m.create :breakrule, [:id, :break, :paid] m.delete :breakrule, [:id] m.create :shiftrequests, [:shift] m.get :notes, [:start_date] m.get :note, [:id] m.create :note, [:date, :note] m.update :note, [:id] m.delete :note, [:id] m.get :count_notes, [:start_date, :end_date] m.get :publish_note, [:id] end api_module :messaging do |m| m.get :messages m.get :message, [:id] m.create :message, [:subject, :message, :to] m.update :message, [:id] m.delete :message, [:id] m.create :shift, [:subject, :message, :id] m.get :wall m.create :wall, [:post] m.delete :wall, [:id, :delete] m.get :notices m.get :notice, [:id] m.create :notice m.update :notice, [:id] m.delete :notice, [:id] end api_module :payroll do |m| m.get :report, [:type] m.get :enhancedreport m.get :ratecards m.get :ratecard, [:id] m.create :ratecard, [:name] m.update :ratecard, [:id] m.delete :ratecard, [:id] end api_module :availability do |m| m.get :available, [:start_date] m.get :weekly m.update :weekly, [:flag] m.delete :weekly, [:start_time, :end_time] m.get :future m.create :future, [:start_date] m.update :future, [:id, :flag] m.delete :future, [:id] m.get :approve, [:type] m.create :approve m.update :approve, [:user, :type, :action] end api_module :admin do |m| m.get :settings m.update :settings m.get :details m.update :details m.get :files m.get :file, [:id] m.create :file, [:filename, :filedata, :filelength, :mimetype] m.update :file, [:id] m.delete :file, [:id] m.get :backups m.get :backup, [:id] m.create :backup, [:filename, :filedata, :filelength, :mimetype] m.delete :backup, [:id] m.get :nrequests m.get :business m.get :group_perms m.update :group_perms, [:group_perms] end api_module :reports do |m| m.get :schedule, [:start_date, :end_date, :type] m.get :budget, [:start_date, :end_date] m.get :timesheets, [:start_date, :end_date, :type] m.get :employee, [:start_date, :end_date, :type] m.get :custom, [:fields, :start_date, :end_date, :type] m.get :daily_peak_hours_new, [:start_date, :end_date] m.get :daily_peak_hours, [:start_date, :end_date] m.get :google, [:start_date, :end_date] m.get :workunits m.get :mu_daily_report end api_module :training do |m| m.get :sections m.get :section, [:id] m.create :section, [:title] m.update :section, [:id, :title] m.delete :section, [:id] m.get :modules m.get :module, [:id] m.create :module, [:title] m.update :module, [:id] m.delete :module, [:id] m.update :complete, [:id] m.update :reorder, [:mode] m.get :digital_signature, [:module_id] m.get :comments, [:module_id, :type] m.update :comments, [:module_id, :type] m.update :sync, [:id] m.update :quiz, [:answer] m.update :multiassign, [:assignments, :modules, :mode] m.get :tutorial, [:tutorial_id] end api_module :group do |m| m.get :accounts m.create :accounts, [:accounts] m.get :account, [:id] m.create :account m.update :account, [:id] m.delete :account, [:id] m.create :accountsplit, [:location, :main_user_id] m.get :reports, [:start_date, :end_date, :type] end api_module :sales do |m| m.get :budgets, [:start_date, :end_date] m.get :budget, [:start_date, :end_date] m.create :budget, [:start_date, :end_date] m.update :budget, [:start_date, :end_date] m.delete :budget, [:start_date, :end_date] end api_module :dashboard do |m| m.get :onnow m.get :notifications end end