Class: Wsapi::Session
- Inherits:
-
Object
- Object
- Wsapi::Session
- Defined in:
- lib/wsapi/session.rb
Instance Attribute Summary collapse
-
#workspace_id ⇒ Object
Returns the value of attribute workspace_id.
Instance Method Summary collapse
- #get_current_user ⇒ Object
- #get_editors(project_id, opts = {}) ⇒ Object
- #get_project(id) ⇒ Object
- #get_projects(opts = {}) ⇒ Object
- #get_subscription(id) ⇒ Object
- #get_subscription_by_subscription_id(subscription_id) ⇒ Object
- #get_team_members(project_id, opts = {}) ⇒ Object
- #get_user(id) ⇒ Object
- #get_user_by_username(username) ⇒ Object
- #get_user_subscription ⇒ Object
- #get_users(query = nil) ⇒ Object
-
#initialize(session_id, opts = {}) ⇒ Session
constructor
A new instance of Session.
- #setup_refresh_token(client_id, client_secret, refresh_token, &block) ⇒ Object
- #update_artifact(type, id, update_hash) ⇒ Object
Constructor Details
#initialize(session_id, opts = {}) ⇒ Session
Returns a new instance of Session.
40 41 42 43 44 45 |
# File 'lib/wsapi/session.rb', line 40 def initialize(session_id, opts = {}) @api_version = opts[:version] || "3.0" @workspace_id = opts[:workspace_id] @timeout = opts[:timeout] @conn = connection(session_id) end |
Instance Attribute Details
#workspace_id ⇒ Object
Returns the value of attribute workspace_id.
38 39 40 |
# File 'lib/wsapi/session.rb', line 38 def workspace_id @workspace_id end |
Instance Method Details
#get_current_user ⇒ Object
82 83 84 85 |
# File 'lib/wsapi/session.rb', line 82 def get_current_user response = wsapi_get(wsapi_resource_url("User")) Mapper.get_object(response) end |
#get_editors(project_id, opts = {}) ⇒ Object
114 115 116 117 118 |
# File 'lib/wsapi/session.rb', line 114 def get_editors(project_id, opts = {}) fetch_with_pages(opts) do |page_query| wsapi_get(wsapi_resource_url("Project/#{project_id}/Editors"), opts.merge(page_query)) end end |
#get_project(id) ⇒ Object
77 78 79 80 |
# File 'lib/wsapi/session.rb', line 77 def get_project(id) response = wsapi_get(wsapi_resource_url("Project/#{id}")) Mapper.get_object(response) end |
#get_projects(opts = {}) ⇒ Object
71 72 73 74 75 |
# File 'lib/wsapi/session.rb', line 71 def get_projects(opts = {}) fetch_with_pages(opts) do |page_query| wsapi_get(wsapi_resource_url("Project"), opts.merge(page_query)) end end |
#get_subscription(id) ⇒ Object
61 62 63 64 |
# File 'lib/wsapi/session.rb', line 61 def get_subscription(id) response = wsapi_get(wsapi_resource_url("Subscription/#{id}")) Mapper.get_object(response) end |
#get_subscription_by_subscription_id(subscription_id) ⇒ Object
66 67 68 69 |
# File 'lib/wsapi/session.rb', line 66 def get_subscription_by_subscription_id(subscription_id) response = wsapi_get(wsapi_resource_url("Subscription"), query: "(SubscriptionId = #{subscription_id})", pagesize: 1) (Mapper.get_objects(response) ||[]).first end |
#get_team_members(project_id, opts = {}) ⇒ Object
108 109 110 111 112 |
# File 'lib/wsapi/session.rb', line 108 def get_team_members(project_id, opts = {}) fetch_with_pages(opts) do |page_query| wsapi_get(wsapi_resource_url("Project/#{project_id}/TeamMembers"), opts.merge(page_query)) end end |
#get_user(id) ⇒ Object
98 99 100 101 |
# File 'lib/wsapi/session.rb', line 98 def get_user(id) response = wsapi_get(wsapi_resource_url("User/#{id}")) Mapper.get_object(response) end |
#get_user_by_username(username) ⇒ Object
103 104 105 106 |
# File 'lib/wsapi/session.rb', line 103 def get_user_by_username(username) response = wsapi_get(wsapi_resource_url("User"), query: "(UserName = \"#{username}\")", pagesize: 1) (Mapper.get_objects(response) ||[]).first end |
#get_user_subscription ⇒ Object
56 57 58 59 |
# File 'lib/wsapi/session.rb', line 56 def get_user_subscription response = wsapi_get(wsapi_resource_url("Subscription")) Mapper.get_object(response) end |
#get_users(query = nil) ⇒ Object
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/wsapi/session.rb', line 87 def get_users(query = nil) fetch_with_pages do |page_query| if query query_hash = { query: "(#{query})" } wsapi_get(wsapi_resource_url("User"), query_hash.merge(page_query)) else wsapi_get(wsapi_resource_url("Users"), page_query) end end end |
#setup_refresh_token(client_id, client_secret, refresh_token, &block) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/wsapi/session.rb', line 47 def setup_refresh_token(client_id, client_secret, refresh_token, &block) @oauth2 = { client_id: client_id, client_secret: client_secret, refresh_token: refresh_token, refresh_token_updated: block } end |
#update_artifact(type, id, update_hash) ⇒ Object
120 121 122 123 |
# File 'lib/wsapi/session.rb', line 120 def update_artifact(type, id, update_hash) response = wsapi_post(wsapi_resource_url("#{type}/#{id}"), "#{type}" => update_hash) Mapper.get_object(response) end |