remocon 0.1.0

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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.envrc +1 -0
  3. data/.gitignore +313 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +70 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +13 -0
  8. data/Gemfile +7 -0
  9. data/Gemfile.lock +72 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +91 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +15 -0
  14. data/bin/get_access_token +11 -0
  15. data/bin/get_access_token.py +18 -0
  16. data/bin/put_by_curl +13 -0
  17. data/bin/setup +8 -0
  18. data/cmd/remocon +6 -0
  19. data/lib/remocon.rb +47 -0
  20. data/lib/remocon/cli.rb +41 -0
  21. data/lib/remocon/command/create_command.rb +48 -0
  22. data/lib/remocon/command/lib/interpreter_helper.rb +44 -0
  23. data/lib/remocon/command/pull_command.rb +66 -0
  24. data/lib/remocon/command/push_command.rb +119 -0
  25. data/lib/remocon/command/validate_command.rb +38 -0
  26. data/lib/remocon/dumper/condition_file_dumper.rb +14 -0
  27. data/lib/remocon/dumper/parameter_file_dumper.rb +22 -0
  28. data/lib/remocon/error/unsupported_type_error.rb +9 -0
  29. data/lib/remocon/error/validation_error.rb +10 -0
  30. data/lib/remocon/interpreter/condition_file_interpreter.rb +32 -0
  31. data/lib/remocon/interpreter/parameter_file_interpreter.rb +60 -0
  32. data/lib/remocon/normalizer/boolean_normalizer.rb +23 -0
  33. data/lib/remocon/normalizer/integer_normalizer.rb +23 -0
  34. data/lib/remocon/normalizer/json_normalizer.rb +20 -0
  35. data/lib/remocon/normalizer/normalizer.rb +33 -0
  36. data/lib/remocon/normalizer/string_normalizer.rb +13 -0
  37. data/lib/remocon/normalizer/type_normalizer_factory.rb +25 -0
  38. data/lib/remocon/normalizer/void_normalizer.rb +9 -0
  39. data/lib/remocon/sorter/condition_sorter.rb +23 -0
  40. data/lib/remocon/sorter/parameter_sorter.rb +24 -0
  41. data/lib/remocon/type.rb +11 -0
  42. data/lib/remocon/util/array.rb +15 -0
  43. data/lib/remocon/util/hash.rb +29 -0
  44. data/lib/remocon/util/string.rb +13 -0
  45. data/lib/remocon/version.rb +5 -0
  46. data/remocon.gemspec +42 -0
  47. data/sample/basketball-b8548/conditions.yml +7 -0
  48. data/sample/basketball-b8548/config.json +67 -0
  49. data/sample/basketball-b8548/etag +1 -0
  50. data/sample/basketball-b8548/parameters.yml +20 -0
  51. metadata +193 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b4880ea48bc2d1036aaa7ff6a2aecb5559b229e156362a5780c58ccaec9d2e52
4
+ data.tar.gz: d8362315682a507256267c3127c4f56a152dc66a61bec218af9398e935166c2b
5
+ SHA512:
6
+ metadata.gz: 2197306cb1c04a5e9b5635319a68694a7f8d559744ebb0e2d46e29c977a8f456722f6e1169eea5097919b829777d2c367fbe67bc2823f3d188b8bf8bca790f0e
7
+ data.tar.gz: 8c538816d4cefe387361ec4e067a6ea5a04c664d994450e6567ad98263cbb93aa7e15fe94c4bbc355653056dc76335bfab232254f615eb65a8494410554d6496
data/.envrc ADDED
@@ -0,0 +1 @@
1
+ PATH_add bin
@@ -0,0 +1,313 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+
13
+ # Created by https://www.gitignore.io/api/rubymine,ruby,emacs,vim
14
+
15
+ ### Emacs ###
16
+ # -*- mode: gitignore; -*-
17
+ *~
18
+ \#*\#
19
+ /.emacs.desktop
20
+ /.emacs.desktop.lock
21
+ *.elc
22
+ auto-save-list
23
+ tramp
24
+ .\#*
25
+
26
+ # Org-mode
27
+ .org-id-locations
28
+ *_archive
29
+
30
+ # flymake-mode
31
+ *_flymake.*
32
+
33
+ # eshell files
34
+ /eshell/history
35
+ /eshell/lastdir
36
+
37
+ # elpa packages
38
+ /elpa/
39
+
40
+ # reftex files
41
+ *.rel
42
+
43
+ # AUCTeX auto folder
44
+ /auto/
45
+
46
+ # cask packages
47
+ .cask/
48
+ dist/
49
+
50
+ # Flycheck
51
+ flycheck_*.el
52
+
53
+ # server auth directory
54
+ /server/
55
+
56
+ # projectiles files
57
+ .projectile
58
+ projectile-bookmarks.eld
59
+
60
+ # directory configuration
61
+ .dir-locals.el
62
+
63
+ # saveplace
64
+ places
65
+
66
+ # url cache
67
+ url/cache/
68
+
69
+ # cedet
70
+ ede-projects.el
71
+
72
+ # smex
73
+ smex-items
74
+
75
+ # company-statistics
76
+ company-statistics-cache.el
77
+
78
+ # anaconda-mode
79
+ anaconda-mode/
80
+
81
+ ### Ruby ###
82
+ *.gem
83
+ *.rbc
84
+ /.config
85
+ /coverage/
86
+ /InstalledFiles
87
+ /pkg/
88
+ /spec/reports/
89
+ /spec/examples.txt
90
+ /test/tmp/
91
+ /test/version_tmp/
92
+ /tmp/
93
+
94
+ # Used by dotenv library to load environment variables.
95
+ # .env
96
+
97
+ ## Specific to RubyMotion:
98
+ .dat*
99
+ .repl_history
100
+ build/
101
+ *.bridgesupport
102
+ build-iPhoneOS/
103
+ build-iPhoneSimulator/
104
+
105
+ ## Specific to RubyMotion (use of CocoaPods):
106
+ #
107
+ # We recommend against adding the Pods directory to your .gitignore. However
108
+ # you should judge for yourself, the pros and cons are mentioned at:
109
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
110
+ #
111
+ # vendor/Pods/
112
+
113
+ ## Documentation cache and generated files:
114
+ /.yardoc/
115
+ /_yardoc/
116
+ /doc/
117
+ /rdoc/
118
+
119
+ ## Environment normalization:
120
+ /.bundle/
121
+ /vendor/bundle
122
+ /lib/bundler/man/
123
+
124
+ # for a library or gem, you might want to ignore these files since the code is
125
+ # intended to run in multiple environments; otherwise, check them in:
126
+ # Gemfile.lock
127
+ # .ruby-version
128
+ # .ruby-gemset
129
+
130
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
131
+ .rvmrc
132
+
133
+ ### RubyMine ###
134
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
135
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
136
+
137
+ # User-specific stuff:
138
+ .idea/**/workspace.xml
139
+ .idea/**/tasks.xml
140
+ .idea/dictionaries
141
+
142
+ # Sensitive or high-churn files:
143
+ .idea/**/dataSources/
144
+ .idea/**/dataSources.ids
145
+ .idea/**/dataSources.xml
146
+ .idea/**/dataSources.local.xml
147
+ .idea/**/sqlDataSources.xml
148
+ .idea/**/dynamic.xml
149
+ .idea/**/uiDesigner.xml
150
+
151
+ # Gradle:
152
+ .idea/**/gradle.xml
153
+ .idea/**/libraries
154
+
155
+ # CMake
156
+ cmake-build-debug/
157
+
158
+ # Mongo Explorer plugin:
159
+ .idea/**/mongoSettings.xml
160
+
161
+ ## File-based project format:
162
+ *.iws
163
+
164
+ ## Plugin-specific files:
165
+
166
+ # IntelliJ
167
+ /out/
168
+
169
+ # mpeltonen/sbt-idea plugin
170
+ .idea_modules/
171
+
172
+ # JIRA plugin
173
+ atlassian-ide-plugin.xml
174
+
175
+ # Cursive Clojure plugin
176
+ .idea/replstate.xml
177
+
178
+ # Ruby plugin and RubyMine
179
+ /.rakeTasks
180
+
181
+ # Crashlytics plugin (for Android Studio and IntelliJ)
182
+ com_crashlytics_export_strings.xml
183
+ crashlytics.properties
184
+ crashlytics-build.properties
185
+ fabric.properties
186
+
187
+ ### RubyMine Patch ###
188
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
189
+
190
+ # *.iml
191
+ # modules.xml
192
+ # .idea/misc.xml
193
+ # *.ipr
194
+
195
+ # Sonarlint plugin
196
+ .idea/sonarlint
197
+
198
+ ### Vim ###
199
+ # swap
200
+ .sw[a-p]
201
+ .*.sw[a-p]
202
+ # session
203
+ Session.vim
204
+ # temporary
205
+ .netrwhist
206
+ # auto-generated tag files
207
+ tags
208
+
209
+
210
+ # End of https://www.gitignore.io/api/rubymine,ruby,emacs,vim
211
+
212
+ # Created by https://www.gitignore.io/api/rubymine+all,rubymine+iml
213
+
214
+ ### RubyMine+all ###
215
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
216
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
217
+
218
+ # User-specific stuff:
219
+ .idea/**/workspace.xml
220
+ .idea/**/tasks.xml
221
+ .idea/dictionaries
222
+
223
+ # Sensitive or high-churn files:
224
+ .idea/**/dataSources/
225
+ .idea/**/dataSources.ids
226
+ .idea/**/dataSources.xml
227
+ .idea/**/dataSources.local.xml
228
+ .idea/**/sqlDataSources.xml
229
+ .idea/**/dynamic.xml
230
+ .idea/**/uiDesigner.xml
231
+
232
+ # Gradle:
233
+ .idea/**/gradle.xml
234
+ .idea/**/libraries
235
+
236
+ # CMake
237
+ cmake-build-debug/
238
+
239
+ # Mongo Explorer plugin:
240
+ .idea/**/mongoSettings.xml
241
+
242
+ ## File-based project format:
243
+ *.iws
244
+
245
+ ## Plugin-specific files:
246
+
247
+ # IntelliJ
248
+ /out/
249
+
250
+ # mpeltonen/sbt-idea plugin
251
+ .idea_modules/
252
+
253
+ # JIRA plugin
254
+ atlassian-ide-plugin.xml
255
+
256
+ # Cursive Clojure plugin
257
+ .idea/replstate.xml
258
+
259
+ # Ruby plugin and RubyMine
260
+ /.rakeTasks
261
+
262
+ # Crashlytics plugin (for Android Studio and IntelliJ)
263
+ com_crashlytics_export_strings.xml
264
+ crashlytics.properties
265
+ crashlytics-build.properties
266
+ fabric.properties
267
+
268
+ ### RubyMine+all Patch ###
269
+ # Ignores the whole idea folder
270
+ # See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
271
+
272
+ .idea/
273
+
274
+ ### RubyMine+iml ###
275
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
276
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
277
+
278
+ # User-specific stuff:
279
+
280
+ # Sensitive or high-churn files:
281
+
282
+ # Gradle:
283
+
284
+ # CMake
285
+
286
+ # Mongo Explorer plugin:
287
+
288
+ ## File-based project format:
289
+
290
+ ## Plugin-specific files:
291
+
292
+ # IntelliJ
293
+
294
+ # mpeltonen/sbt-idea plugin
295
+
296
+ # JIRA plugin
297
+
298
+ # Cursive Clojure plugin
299
+
300
+ # Ruby plugin and RubyMine
301
+
302
+ # Crashlytics plugin (for Android Studio and IntelliJ)
303
+
304
+ ### RubyMine+iml Patch ###
305
+ # Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
306
+
307
+ *.iml
308
+ modules.xml
309
+ .idea/misc.xml
310
+ *.ipr
311
+
312
+
313
+ # End of https://www.gitignore.io/api/rubymine+all,rubymine+iml
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,70 @@
1
+ AllCops:
2
+ Exclude:
3
+ - '*.gemspec'
4
+ - 'vendor/**/*'
5
+ - 'Gemfile'
6
+ - 'Rakefile'
7
+
8
+ Style/Documentation:
9
+ Exclude:
10
+ - 'spec/**/*'
11
+ - 'test/**/*'
12
+
13
+ Metrics/LineLength:
14
+ Max: 150
15
+ Exclude:
16
+ - "spec/**/*"
17
+
18
+ Metrics/AbcSize:
19
+ Enabled: false
20
+
21
+ Metrics/ClassLength:
22
+ Enabled: false
23
+
24
+ Metrics/CyclomaticComplexity:
25
+ Enabled: false
26
+
27
+ Metrics/MethodLength:
28
+ Enabled: false
29
+
30
+ Metrics/ModuleLength:
31
+ Enabled: false
32
+
33
+ Style/BracesAroundHashParameters:
34
+ Enabled: false
35
+
36
+ Style/Documentation:
37
+ Enabled: false
38
+
39
+ Style/EachWithObject:
40
+ Enabled: false
41
+
42
+ Style/LineEndConcatenation:
43
+ Enabled: false
44
+
45
+ Style/MutableConstant:
46
+ Enabled: false
47
+
48
+ Style/NumericLiterals:
49
+ Enabled: false
50
+
51
+ Style/ParallelAssignment:
52
+ Enabled: false
53
+
54
+ Style/RedundantSelf:
55
+ Enabled: false
56
+
57
+ Style/RegexpLiteral:
58
+ Enabled: true
59
+
60
+ Style/StringLiterals:
61
+ Enabled: false
62
+
63
+ Style/SymbolProc:
64
+ Enabled: false
65
+
66
+ Style/UnneededPercentQ:
67
+ Enabled: false
68
+
69
+ Style/PerlBackrefs:
70
+ Enabled: false
@@ -0,0 +1 @@
1
+ 2.5.0
@@ -0,0 +1,13 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.5.0
5
+ env:
6
+ global:
7
+ - FIREBASE_PROJECT_ID='project_id'
8
+ - REMOTE_CONFIG_ACCESS_TOKEN='token'
9
+ before_install: gem install bundler -v 1.16.1
10
+ install: bundle install --deployment --jobs=4 --retry=3
11
+ cache:
12
+ directories: vendor/bundle
13
+ script: bundle exec rake spec
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
+
7
+ gemspec
@@ -0,0 +1,72 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ remocon (0.1.0)
5
+ activesupport
6
+ thor
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (5.1.5)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (~> 0.7)
14
+ minitest (~> 5.1)
15
+ tzinfo (~> 1.1)
16
+ ast (2.4.0)
17
+ coderay (1.1.2)
18
+ concurrent-ruby (1.0.5)
19
+ diff-lcs (1.3)
20
+ i18n (0.9.5)
21
+ concurrent-ruby (~> 1.0)
22
+ method_source (0.9.0)
23
+ minitest (5.11.3)
24
+ parallel (1.12.1)
25
+ parser (2.5.0.4)
26
+ ast (~> 2.4.0)
27
+ powerpack (0.1.1)
28
+ pry (0.11.3)
29
+ coderay (~> 1.1.0)
30
+ method_source (~> 0.9.0)
31
+ rainbow (3.0.0)
32
+ rake (10.5.0)
33
+ rspec (3.7.0)
34
+ rspec-core (~> 3.7.0)
35
+ rspec-expectations (~> 3.7.0)
36
+ rspec-mocks (~> 3.7.0)
37
+ rspec-core (3.7.1)
38
+ rspec-support (~> 3.7.0)
39
+ rspec-expectations (3.7.0)
40
+ diff-lcs (>= 1.2.0, < 2.0)
41
+ rspec-support (~> 3.7.0)
42
+ rspec-mocks (3.7.0)
43
+ diff-lcs (>= 1.2.0, < 2.0)
44
+ rspec-support (~> 3.7.0)
45
+ rspec-support (3.7.1)
46
+ rubocop (0.53.0)
47
+ parallel (~> 1.10)
48
+ parser (>= 2.5)
49
+ powerpack (~> 0.1)
50
+ rainbow (>= 2.2.2, < 4.0)
51
+ ruby-progressbar (~> 1.7)
52
+ unicode-display_width (~> 1.0, >= 1.0.1)
53
+ ruby-progressbar (1.9.0)
54
+ thor (0.20.0)
55
+ thread_safe (0.3.6)
56
+ tzinfo (1.2.5)
57
+ thread_safe (~> 0.1)
58
+ unicode-display_width (1.3.0)
59
+
60
+ PLATFORMS
61
+ ruby
62
+
63
+ DEPENDENCIES
64
+ bundler (~> 1.16)
65
+ pry
66
+ rake (~> 10.0)
67
+ remocon!
68
+ rspec (~> 3.0)
69
+ rubocop
70
+
71
+ BUNDLED WITH
72
+ 1.16.1