lws 6.1.1 → 6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +8 -0
- data/CHANGELOG.md +16 -6
- data/README.md +69 -0
- data/Rakefile +1 -5
- data/bin/lwsconsole +1 -1
- data/lib/lws/version.rb +1 -1
- data/test/auth_test.rb +1 -1
- data/test/caching_test.rb +7 -2
- data/test/digital_signage_test.rb +1 -1
- data/test/generic_test.rb +1 -1
- data/test/maps_test.rb +1 -1
- data/test/setup_test.rb +13 -13
- data/test/ticket_test.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c28a47576f5116e961f09171fffaa9ce938ac66
|
4
|
+
data.tar.gz: 1da0aa547debc76bd41de01e5adf1a4c3f1c4e9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 427a6172d9968b9137ac68ae67be607ac5277dc2a961332e1dd8b48c3544d34996d4e91c4b465443fd0c858481413dd74ea61e2472c041f96e5c7a37deba112f
|
7
|
+
data.tar.gz: 165cba8de10e722a3786c9bedc032fb6f64f818b88da6940be9fde35837478c02b461d8e16cabedc46c747405724b3001c435f7f89be9e81d1c1b06d7b0c1cb9
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,23 @@
|
|
1
|
-
#
|
1
|
+
# LeftClick Web Services Changelog
|
2
2
|
|
3
3
|
Up until v6.1.0, we used the standard Gem version numbering starting at v0.0.1.
|
4
4
|
From v6.1.0 on the version will follow the API version of LWS in the major/minor
|
5
5
|
part of te version.
|
6
6
|
|
7
|
+
## v6.1.2
|
8
|
+
|
9
|
+
* Small tweaks to LWS Console
|
10
|
+
* Add LWS Console documentation (in the README)
|
11
|
+
* Documentation improvements
|
12
|
+
|
13
|
+
### Development
|
14
|
+
|
15
|
+
* Fix caching tests not tearing down the specific setup
|
16
|
+
|
7
17
|
## v6.1.1
|
8
18
|
|
9
|
-
* Support a global and user-specific config file for LWS
|
10
|
-
* Use a separate history and specific prompt for LWS
|
19
|
+
* Support a global and user-specific config file for LWS Console
|
20
|
+
* Use a separate history and specific prompt for LWS Console
|
11
21
|
* Small documentation fixes
|
12
22
|
* Speed up the tests
|
13
23
|
|
@@ -19,9 +29,9 @@ part of te version.
|
|
19
29
|
* Use JSON as the wire format for sending data to LWS
|
20
30
|
* Switch to using our own exceptions (see LWS::Errors)
|
21
31
|
* Add support for setting the LWS API token in the environment
|
22
|
-
* Switch to Pry as the REPL used by the LWS
|
23
|
-
* Add commands to the LWS
|
24
|
-
* Add option parsing and app/environment/debug mode selection to LWS
|
32
|
+
* Switch to Pry as the REPL used by the LWS Console
|
33
|
+
* Add commands to the LWS Console to toggle debug options
|
34
|
+
* Add option parsing and app/environment/debug mode selection to LWS Console
|
25
35
|
|
26
36
|
### Apps
|
27
37
|
|
data/README.md
CHANGED
@@ -83,3 +83,72 @@ The `LC_LWS_ENV` environment variable is supported to override the LWS
|
|
83
83
|
environment. Allowed values are "production" (default) and "development".
|
84
84
|
The `LC_LWS_API_TOKEN` is supported to set the LWS API token default.
|
85
85
|
This only works if a custom API token middleware is not used.
|
86
|
+
|
87
|
+
## LWS Console
|
88
|
+
|
89
|
+
This library comes with the program `lwsconsole`, which is a command-line
|
90
|
+
tool that can be used to interactively use the library. (This is similar
|
91
|
+
to the Rails console.) See `lwsconsole --help` for the supported
|
92
|
+
command-line arguments.
|
93
|
+
|
94
|
+
LWS Console will perform the setup for you and give you a prompt in the
|
95
|
+
`LWS` module namespace or the module of an app if this is selected via the
|
96
|
+
arguments. It uses the production environment per default using the token
|
97
|
+
provided by a command-line argument. These defaults can be overriden using
|
98
|
+
the configuration. For example, to rename a map:
|
99
|
+
|
100
|
+
```
|
101
|
+
$ lwsconsole -t "my_token" -a maps
|
102
|
+
[1] lwsconsole(LWS::Maps)> Map.all.map(&:name)
|
103
|
+
=> ["Gebouw 1",
|
104
|
+
"Gebouw 3"]
|
105
|
+
[2] lwsconsole(LWS::Maps)> map = Map.find(2)
|
106
|
+
=> #<LWS::Maps::Map(maps/(:id)) id: 2 name: "Gebouw 3" ... markers: []>
|
107
|
+
[3] lwsconsole(LWS::Maps)> map.name = "Gebouw 2"
|
108
|
+
"Gebouw 2"
|
109
|
+
[4] lwsconsole(LWS::Maps)> map.save
|
110
|
+
nil
|
111
|
+
```
|
112
|
+
|
113
|
+
Besides the API calls, LWS console supports a few commands to change its
|
114
|
+
behaviour:
|
115
|
+
|
116
|
+
* `http_debug true|false`: Toggles HTTP debugging for API calls
|
117
|
+
* `http_debug_headers true|false`: Toggles logging of HTTP headers in the HTTP debug output
|
118
|
+
* `json_debug true|false`: Toggles JSON debug output for API calls
|
119
|
+
* `reload!`: Reloads all apps
|
120
|
+
|
121
|
+
```
|
122
|
+
[5] lwsconsole(LWS::Maps)> http_debug true
|
123
|
+
true
|
124
|
+
```
|
125
|
+
|
126
|
+
LWS Console keeps a history of all calls and commands, use the command
|
127
|
+
`history --all` to seem them. Use the command `help` to see all other
|
128
|
+
available commands (provided by Pry).
|
129
|
+
|
130
|
+
### Configuration files
|
131
|
+
|
132
|
+
LWS Console will look for the configuration files first in
|
133
|
+
`/etc/LeftClick/lws.yml` and then `~/.config/LeftClick/lws.yml`; they are
|
134
|
+
in the YAML format.
|
135
|
+
|
136
|
+
The configuration file can set defaults per environment. It is possible to
|
137
|
+
set the API key, endpoints and debug modes.
|
138
|
+
|
139
|
+
```yaml
|
140
|
+
development:
|
141
|
+
api_token: "my_token"
|
142
|
+
endpoints:
|
143
|
+
maps: "https://maps.leftclick.cloud
|
144
|
+
http_debug: true
|
145
|
+
http_debug_headers: true
|
146
|
+
json_debug: true
|
147
|
+
```
|
148
|
+
|
149
|
+
To override the default environment, use the default section. For example:
|
150
|
+
|
151
|
+
```yaml
|
152
|
+
default:
|
153
|
+
environment: "development"
|
154
|
+
```
|
data/Rakefile
CHANGED
@@ -21,11 +21,7 @@ Rake::TestTask.new do |t|
|
|
21
21
|
t.pattern = "test/*_test.rb"
|
22
22
|
end
|
23
23
|
|
24
|
-
YARD::Rake::YardocTask.new
|
25
|
-
t.files = ["lib/**/*.rb", "-", "README.md", "CHANGELOG.md"]
|
26
|
-
t.options = ["--no-private",
|
27
|
-
"--title", "LeftClick Web Services Documentation"]
|
28
|
-
end
|
24
|
+
YARD::Rake::YardocTask.new
|
29
25
|
|
30
26
|
task doc: :yard
|
31
27
|
|
data/bin/lwsconsole
CHANGED
data/lib/lws/version.rb
CHANGED
data/test/auth_test.rb
CHANGED
@@ -152,7 +152,7 @@ class TestAuthToken < MiniTest::Test
|
|
152
152
|
refute_nil(@token)
|
153
153
|
assert_instance_of(Token, @token)
|
154
154
|
refute_nil(@token.id)
|
155
|
-
assert_equal(
|
155
|
+
assert_equal(LWS.config.api_token, @token.token)
|
156
156
|
end
|
157
157
|
|
158
158
|
def test_valid_associations
|
data/test/caching_test.rb
CHANGED
@@ -46,13 +46,18 @@ class TestCaching < MiniTest::Test
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
+
def teardown
|
50
|
+
# Restore the configuration
|
51
|
+
reconfigure
|
52
|
+
end
|
53
|
+
|
49
54
|
def test_working_cache
|
50
55
|
assert_nil(@cache_mock.last_read_key)
|
51
56
|
assert_nil(@cache_mock.last_written_key)
|
52
57
|
assert_nil(@cache_mock.last_written_value)
|
53
58
|
config = LWS::Auth::Configuration.all.first
|
54
|
-
assert_equal(@cache_mock.last_read_key
|
55
|
-
assert_equal(@cache_mock.last_written_key
|
59
|
+
assert_equal("/configurations", @cache_mock.last_read_key)
|
60
|
+
assert_equal("/configurations", @cache_mock.last_written_key)
|
56
61
|
refute_nil(@cache_mock.last_written_value)
|
57
62
|
end
|
58
63
|
|
@@ -420,7 +420,7 @@ class TestDigitalSignagePlayerFeedbackResult < MiniTest::Test
|
|
420
420
|
# FIXME: Chained associations don't work yet in Spyke (#89)
|
421
421
|
#def test_valid_associations
|
422
422
|
# assert_instance_of(Player, @player_feedback_result.player)
|
423
|
-
# assert_equal(@
|
423
|
+
# assert_equal(@player, @player_feedback_result.player)
|
424
424
|
# assert_instance_of(Player::Feedback, @player_feedback_result.feedback)
|
425
425
|
# assert_equal(@player_feedback, @player_feedback_result.feedback)
|
426
426
|
#end
|
data/test/generic_test.rb
CHANGED
@@ -28,7 +28,7 @@ class TestGenericConfiguration < MiniTest::Test
|
|
28
28
|
|
29
29
|
def test_her_compatibility
|
30
30
|
@configuration.assign_attributes("value" => "other_value")
|
31
|
-
assert_equal
|
31
|
+
assert_equal("other_value", @configuration.value)
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_lifecycle
|
data/test/maps_test.rb
CHANGED
data/test/setup_test.rb
CHANGED
@@ -32,19 +32,19 @@ class TestSetup < MiniTest::Test
|
|
32
32
|
with_env("LC_LWS_ENV" => "production") do
|
33
33
|
reconfigure
|
34
34
|
end
|
35
|
-
assert_equal(LWS.config.environment
|
35
|
+
assert_equal(:production, LWS.config.environment)
|
36
36
|
|
37
37
|
with_env("LC_LWS_ENV" => "production") do
|
38
38
|
LWS.setup do |config|
|
39
39
|
config.api_token = ENV["LC_LWS_TEST_TOKEN"]
|
40
40
|
end
|
41
41
|
end
|
42
|
-
assert_equal(LWS.config.environment
|
42
|
+
assert_equal(:production, LWS.config.environment)
|
43
43
|
|
44
44
|
with_env("LC_LWS_API_TOKEN" => "test-token") do
|
45
45
|
reconfigure
|
46
46
|
end
|
47
|
-
assert_equal(LWS.config.api_token
|
47
|
+
assert_equal("test-token", LWS.config.api_token)
|
48
48
|
end
|
49
49
|
|
50
50
|
def test_http_logging_without_logger
|
@@ -75,7 +75,7 @@ class TestSetup < MiniTest::Test
|
|
75
75
|
reconfigure do |config|
|
76
76
|
assert config.load_config_file(File.join(@test_config_dir, "empty.yml"))
|
77
77
|
end
|
78
|
-
assert_equal LWS.config
|
78
|
+
assert_equal(orig_config, LWS.config)
|
79
79
|
|
80
80
|
reconfigure do |config|
|
81
81
|
refute config.load_config_file(File.join(@test_config_dir, "does_not_exist.yml"))
|
@@ -85,17 +85,17 @@ class TestSetup < MiniTest::Test
|
|
85
85
|
config.api_token = nil
|
86
86
|
assert config.load_config_file(File.join(@test_config_dir, "tokens.yml"))
|
87
87
|
end
|
88
|
-
assert_equal LWS.config.api_token
|
88
|
+
assert_equal("dev-token", LWS.config.api_token)
|
89
89
|
|
90
90
|
reconfigure do |config|
|
91
91
|
assert config.load_config_file(File.join(@test_config_dir, "switch_env.yml"))
|
92
92
|
end
|
93
|
-
assert_equal LWS.config.environment
|
93
|
+
assert_equal(:production, LWS.config.environment)
|
94
94
|
|
95
95
|
reconfigure do |config|
|
96
96
|
assert config.load_config_file(File.join(@test_config_dir, "endpoints.yml"))
|
97
97
|
end
|
98
|
-
assert_equal
|
98
|
+
assert_equal({ maps: "http://maps.leftclick.cloud" }, LWS.config.endpoints)
|
99
99
|
|
100
100
|
assert_raises do
|
101
101
|
reconfigure do |config|
|
@@ -107,12 +107,12 @@ class TestSetup < MiniTest::Test
|
|
107
107
|
config.api_token = nil
|
108
108
|
assert config.load_config_file(File.join(@test_config_dir, "full.yml"))
|
109
109
|
end
|
110
|
-
assert_equal LWS.config.api_token
|
111
|
-
assert_equal
|
112
|
-
assert_equal LWS.config.environment
|
113
|
-
assert_equal LWS.config.http_debug
|
114
|
-
assert_equal LWS.config.http_debug_headers
|
115
|
-
assert_equal LWS.config.json_debug
|
110
|
+
assert_equal("dev-token", LWS.config.api_token)
|
111
|
+
assert_equal({ maps: "http://maps.leftclick.cloud" }, LWS.config.endpoints)
|
112
|
+
assert_equal(:development, LWS.config.environment)
|
113
|
+
assert_equal(true, LWS.config.http_debug)
|
114
|
+
assert_equal(true, LWS.config.http_debug_headers)
|
115
|
+
assert_equal(true, LWS.config.json_debug)
|
116
116
|
end
|
117
117
|
|
118
118
|
end
|
data/test/ticket_test.rb
CHANGED
@@ -78,7 +78,7 @@ class TestTicketMessage < MiniTest::Test
|
|
78
78
|
#assert_instance_of(Attachment, @message.attachments.first)
|
79
79
|
assert_instance_of(LWS::Auth::Company, @message.company)
|
80
80
|
assert_instance_of(Ticket, @message.ticket)
|
81
|
-
assert_equal(@
|
81
|
+
assert_equal(@ticket, @message.ticket)
|
82
82
|
end
|
83
83
|
|
84
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.1.
|
4
|
+
version: 6.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LeftClick B.V.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02
|
11
|
+
date: 2018-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday_middleware
|
@@ -230,6 +230,7 @@ extensions: []
|
|
230
230
|
extra_rdoc_files: []
|
231
231
|
files:
|
232
232
|
- ".gitignore"
|
233
|
+
- ".yardopts"
|
233
234
|
- CHANGELOG.md
|
234
235
|
- Gemfile
|
235
236
|
- README.md
|