limeade 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3ee2d420faf14714fd02821cc10675bde3faf0a9
4
- data.tar.gz: a4a9ff39e5955422972da6374c790bcc57229d78
2
+ SHA256:
3
+ metadata.gz: bb14f9082aa25256534bdfe452342afa8e85c91f6865af7018ba29ba1bec0da6
4
+ data.tar.gz: 1eb9ce140d18269679297942b43eebc05999262f04b1e8458fc434b48370fa1c
5
5
  SHA512:
6
- metadata.gz: 495c68105ebcf8dcb3a9e0645cd985906347841958e0f20d9f9c6257ef9fecf983a5c90d7232a9dac2b66acacd0258efbb0c7ebea4f5b4abfd3846ca230133f8
7
- data.tar.gz: c94203f90122ee29c86224e0912f9353a7339e84d128fc71855b5fcde5b43b37a50b2f5548d4c46e4b0f1430a15c16b8b47c87638f59bae44565071fa967ec7e
6
+ metadata.gz: '06690414adef52692099da672515d777a452f7e6cf2b1cd4e5bd6f81c4e92e09b9dc0725a5408c6474427be1c26c5726ccce931667ac0f8ccc81a24e111c6ff8'
7
+ data.tar.gz: e1e0b2bce2473578c58d1e72c0f461d2b044fbc673ac08c435c2a36b739784d9e098e27bc77e53f1007146494e3c2b9cab44372dce07880d3ad2600f204a4c9e
@@ -1,5 +1,3 @@
1
- require 'limeade/methods'
2
-
3
1
  module Limeade
4
2
  # Client for accessing the LimeSurvey RemoteControl API from Ruby.
5
3
  class Client
@@ -65,25 +63,73 @@ module Limeade
65
63
  end
66
64
  end
67
65
 
68
- # Handle LimeSurvey RemoteControl API calls invoked on the client by invoking them on the endpoint.
69
- # @param method [Symbol] the method invoked
70
- # @param arguments [Array] the arguments to the method
66
+ # Define a LimeSurvey RemoteControl API method call.
71
67
  #
72
- # @raise [ServerError] The API endpoint server is having issues. An error code and message are included.
73
- # @raise [InvalidResponseError] The API endpoint is returning malformed JSON RPC responses. A descriptive message
68
+ # @param ruby_method [Symbol] the name of the ruby method to define
69
+ # @param rpc_method [Symbol, String] the name of the JSON RPC method to call
70
+ # @!macro [attach] define_api_method
71
+ # @method $1
72
+ # Invoke the +${-1}+ JSON RPC method on the given endpoint.
74
73
  #
75
- # @return [Object] the result of invoking the method on the endpoint
76
- def method_missing(method, *arguments)
77
- if API_METHODS.include? method
78
- process_request(method, *arguments)
79
- else
80
- super
74
+ # @see https://api.limesurvey.org/classes/remotecontrol_handle.html#method_${-1}
75
+ # @param [variable] *arguments see LimeSurvey documentation
76
+ # @raise [ServerError] The API endpoint server is having issues. An error code and message are included.
77
+ # @raise [InvalidResponseError] The API endpoint is returning malformed JSON RPC responses. A descriptive message
78
+ # @return [Object] the result of invoking the method on the endpoint
79
+ def self.define_api_method(ruby_method, rpc_method = ruby_method)
80
+ define_method(ruby_method) do |*arguments|
81
+ process_request(rpc_method, *arguments)
81
82
  end
82
83
  end
83
84
 
84
- def respond_to_missing?(method_name, include_private = false)
85
- API_METHODS.include?(method_name) || super
86
- end
85
+ define_api_method :activate_survey
86
+ define_api_method :activate_tokens
87
+ define_api_method :add_group
88
+ define_api_method :add_language
89
+ define_api_method :add_participants
90
+ define_api_method :add_response
91
+ define_api_method :add_survey
92
+ define_api_method :copy_survey
93
+ define_api_method :cpd_importParticipants
94
+ define_api_method :delete_group
95
+ define_api_method :delete_language
96
+ define_api_method :delete_participants
97
+ define_api_method :delete_question
98
+ define_api_method :delete_survey
99
+ define_api_method :export_responses
100
+ define_api_method :export_responses_by_token
101
+ define_api_method :export_statistics
102
+ define_api_method :export_timeline
103
+ define_api_method :get_group_properties
104
+ define_api_method :get_language_properties
105
+ define_api_method :get_participant_properties
106
+ define_api_method :get_question_properties
107
+ define_api_method :get_response_ids
108
+ define_api_method :get_session_key
109
+ define_api_method :get_site_settings
110
+ define_api_method :get_summary
111
+ define_api_method :get_survey_properties
112
+ define_api_method :get_uploaded_files
113
+ define_api_method :import_group
114
+ define_api_method :import_question
115
+ define_api_method :import_survey
116
+ define_api_method :invite_participants
117
+ define_api_method :list_groups
118
+ define_api_method :list_participants
119
+ define_api_method :list_questions
120
+ define_api_method :list_surveys
121
+ define_api_method :list_users
122
+ define_api_method :mail_registered_participants
123
+ define_api_method :release_session_key
124
+ define_api_method :remind_participants
125
+ define_api_method :set_group_properties
126
+ define_api_method :set_language_properties
127
+ define_api_method :set_participant_properties
128
+ define_api_method :set_question_properties
129
+ define_api_method :set_quota_properties
130
+ define_api_method :set_survey_properties
131
+ define_api_method :update_response
132
+ define_api_method :upload_file
87
133
 
88
134
  private
89
135
 
@@ -1,3 +1,3 @@
1
1
  module Limeade
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
data/limeade.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
37
  spec.require_paths = ['lib']
38
38
 
39
- spec.add_runtime_dependency 'faraday', '>= 0.12.0'
39
+ spec.add_runtime_dependency 'faraday', '>= 0.12.0', '< 2.0'
40
40
  spec.add_runtime_dependency 'multi_json', '~> 1.13'
41
41
 
42
42
  spec.add_development_dependency 'bundler', '>= 1.17', '< 3.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: limeade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Pellegrini
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2023-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.12.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.12.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: multi_json
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +116,6 @@ files:
110
116
  - lib/limeade/client.rb
111
117
  - lib/limeade/errors.rb
112
118
  - lib/limeade/json_rpc.rb
113
- - lib/limeade/methods.rb
114
119
  - lib/limeade/version.rb
115
120
  - limeade.gemspec
116
121
  homepage: https://github.com/spokesoftware/limeade
@@ -119,11 +124,11 @@ licenses:
119
124
  metadata:
120
125
  allowed_push_host: https://rubygems.org
121
126
  homepage_uri: https://github.com/spokesoftware/limeade
122
- documentation_uri: https://www.rubydoc.info/gems/limeade/0.1.2
127
+ documentation_uri: https://www.rubydoc.info/gems/limeade/0.1.3
123
128
  bug_tracker_uri: https://github.com/spokesoftware/limeade/issues
124
129
  source_code_uri: https://github.com/spokesoftware/limeade
125
130
  changelog_uri: https://github.com/spokesoftware/limeade/releases
126
- post_install_message:
131
+ post_install_message:
127
132
  rdoc_options: []
128
133
  require_paths:
129
134
  - lib
@@ -138,9 +143,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
143
  - !ruby/object:Gem::Version
139
144
  version: '0'
140
145
  requirements: []
141
- rubyforge_project:
142
- rubygems_version: 2.5.2
143
- signing_key:
146
+ rubygems_version: 3.1.6
147
+ signing_key:
144
148
  specification_version: 4
145
149
  summary: A Ruby interface to the LimeSurvey API.
146
150
  test_files: []
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Limeade
4
- API_METHODS = <<~_API_METHODS
5
- activate_survey
6
- activate_tokens
7
- add_group
8
- add_language
9
- add_participants
10
- add_response
11
- add_survey
12
- copy_survey
13
- cpd_importParticipants
14
- delete_group
15
- delete_language
16
- delete_participants
17
- delete_question
18
- delete_survey
19
- export_responses
20
- export_responses_by_token
21
- export_statistics
22
- export_timeline
23
- get_group_properties
24
- get_language_properties
25
- get_participant_properties
26
- get_question_properties
27
- get_response_ids
28
- get_session_key
29
- get_site_settings
30
- get_summary
31
- get_survey_properties
32
- get_uploaded_files
33
- import_group
34
- import_question
35
- import_survey
36
- invite_participants
37
- list_groups
38
- list_participants
39
- list_questions
40
- list_surveys
41
- list_users
42
- mail_registered_participants
43
- release_session_key
44
- remind_participants
45
- set_group_properties
46
- set_language_properties
47
- set_participant_properties
48
- set_question_properties
49
- set_quota_properties
50
- set_survey_properties
51
- update_response
52
- upload_file
53
- _API_METHODS
54
- .split("\n").map(&:to_sym).freeze
55
- end