remocon 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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