apiotics 0.1.22

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 (70) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +260 -0
  4. data/Rakefile +33 -0
  5. data/lib/apiotics.rb +57 -0
  6. data/lib/apiotics/client.rb +20 -0
  7. data/lib/apiotics/configuration.rb +22 -0
  8. data/lib/apiotics/extract.rb +87 -0
  9. data/lib/apiotics/insert.rb +105 -0
  10. data/lib/apiotics/parse.rb +20 -0
  11. data/lib/apiotics/portal.rb +156 -0
  12. data/lib/apiotics/railtie.rb +14 -0
  13. data/lib/apiotics/server.rb +236 -0
  14. data/lib/apiotics/version.rb +3 -0
  15. data/lib/generators/apiotics/channel/USAGE +10 -0
  16. data/lib/generators/apiotics/channel/channel_generator.rb +35 -0
  17. data/lib/generators/apiotics/channel/templates/apiotics_channel.rb.erb +9 -0
  18. data/lib/generators/apiotics/channel/templates/apiotics_channel_client.coffee.erb +16 -0
  19. data/lib/generators/apiotics/channel/templates/apiotics_channel_initializer.rb.erb +3 -0
  20. data/lib/generators/apiotics/controller/USAGE +8 -0
  21. data/lib/generators/apiotics/controller/controller_generator.rb +24 -0
  22. data/lib/generators/apiotics/controller/templates/apiotics_scaffold.rb.erb +60 -0
  23. data/lib/generators/apiotics/create_model/USAGE +10 -0
  24. data/lib/generators/apiotics/create_model/create_model_generator.rb +76 -0
  25. data/lib/generators/apiotics/create_model/templates/apiotics_logs_model.rb.erb +7 -0
  26. data/lib/generators/apiotics/create_model/templates/apiotics_model.rb.erb +49 -0
  27. data/lib/generators/apiotics/create_model/templates/apiotics_module.rb.erb +10 -0
  28. data/lib/generators/apiotics/create_model/templates/apiotics_module_model.rb.erb +8 -0
  29. data/lib/generators/apiotics/create_model/templates/create_module_model_table.rb.erb +8 -0
  30. data/lib/generators/apiotics/create_table/USAGE +9 -0
  31. data/lib/generators/apiotics/create_table/create_table_generator.rb +52 -0
  32. data/lib/generators/apiotics/create_table/templates/create_logs_table.rb.erb +14 -0
  33. data/lib/generators/apiotics/create_table/templates/create_table.rb.erb +16 -0
  34. data/lib/generators/apiotics/initializer/USAGE +8 -0
  35. data/lib/generators/apiotics/initializer/initializer_generator.rb +27 -0
  36. data/lib/generators/apiotics/initializer/templates/apiotics.rb.erb +10 -0
  37. data/lib/generators/apiotics/initializer/templates/apiotics_module.rb.erb +6 -0
  38. data/lib/generators/apiotics/initializer/templates/apiotics_settings.rb.erb +9 -0
  39. data/lib/generators/apiotics/initializer/templates/apiotics_targets.rb.erb +3 -0
  40. data/lib/generators/apiotics/initializer/templates/setting.rb.erb +3 -0
  41. data/lib/generators/apiotics/install/USAGE +11 -0
  42. data/lib/generators/apiotics/install/install_generator.rb +11 -0
  43. data/lib/generators/apiotics/migration/USAGE +10 -0
  44. data/lib/generators/apiotics/migration/migration_generator.rb +54 -0
  45. data/lib/generators/apiotics/migration/templates/create_logs_table.rb.erb +14 -0
  46. data/lib/generators/apiotics/migration/templates/migrate_table.rb.erb +12 -0
  47. data/lib/generators/apiotics/model/USAGE +11 -0
  48. data/lib/generators/apiotics/model/model_generator.rb +58 -0
  49. data/lib/generators/apiotics/script/USAGE +8 -0
  50. data/lib/generators/apiotics/script/script_generator.rb +44 -0
  51. data/lib/generators/apiotics/script/templates/comm_server.rake +19 -0
  52. data/lib/generators/apiotics/script/templates/dev_comm_server.rake +19 -0
  53. data/lib/generators/apiotics/script/templates/dev_server.rb +8 -0
  54. data/lib/generators/apiotics/script/templates/dev_server_control.rb +7 -0
  55. data/lib/generators/apiotics/script/templates/publish_script.rake +6 -0
  56. data/lib/generators/apiotics/script/templates/script.rb.erb +12 -0
  57. data/lib/generators/apiotics/script/templates/server.rb +8 -0
  58. data/lib/generators/apiotics/script/templates/server_control.rb +7 -0
  59. data/lib/generators/apiotics/script/templates/test_comm_server.rake +19 -0
  60. data/lib/generators/apiotics/script/templates/test_server.rb +8 -0
  61. data/lib/generators/apiotics/script/templates/test_server_control.rb +7 -0
  62. data/lib/generators/apiotics/view/USAGE +12 -0
  63. data/lib/generators/apiotics/view/templates/default.css.erb +18 -0
  64. data/lib/generators/apiotics/view/templates/edit.html.erb +6 -0
  65. data/lib/generators/apiotics/view/templates/form.html.erb +36 -0
  66. data/lib/generators/apiotics/view/templates/index.html.erb +57 -0
  67. data/lib/generators/apiotics/view/templates/show.html.erb +47 -0
  68. data/lib/generators/apiotics/view/view_generator.rb +26 -0
  69. data/lib/tasks/simbiotes_tasks.rake +4 -0
  70. metadata +237 -0
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Load Rails
4
+ ENV['RAILS_ENV'] = ARGV[0] || 'test'
5
+ DIR = File.dirname(__FILE__)
6
+ require DIR + '/../../config/environment'
7
+
8
+ Apiotics::Server.new
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # add the ontop: true option to see the output of the server in the console in which you run rake comms:start
4
+
5
+ require 'daemons'
6
+
7
+ Daemons.run("lib/scripts/test_server.rb", ontop: false)
@@ -0,0 +1,12 @@
1
+ Description:
2
+ Creates a model and associated database table with the attributes specified. If using data from the portal (recommended) Worker should be the name of a worker defined in your Hive, and Model should be the name of a Driver or Script in that Worker.
3
+
4
+ Example:
5
+ rails generate apiotics:view Worker
6
+
7
+ This will create:
8
+ app/views/worker/show.html.erb
9
+ app/views/worker/new.html.erb
10
+ app/views/worker/edit.html.erb
11
+ app/views/worker/index.html.erb
12
+ app/views/worker/_form.html.erb
@@ -0,0 +1,18 @@
1
+ table {
2
+ border-collapse: collapse;
3
+ border: 1px solid black;
4
+ }
5
+
6
+ th, td {
7
+ padding: 15px;
8
+ text-align: center;
9
+ }
10
+
11
+ th {
12
+ background-color: #f5f5f5;
13
+ color: black;
14
+ }
15
+
16
+ tr:nth-child(even) {
17
+ background-color: #f2f2f2
18
+ }
@@ -0,0 +1,6 @@
1
+ <h1>Editing <%= module_name %></h1>
2
+
3
+ <%%= render 'form' %>
4
+
5
+ <%%= link_to 'Show', <%= module_file_name %>_path(@<%= module_file_name %>) %> |
6
+ <%%= link_to 'Back', <%= module_file_name %>s_path %>
@@ -0,0 +1,36 @@
1
+ <%%= simple_form_for(@<%= module_file_name %>, url: <%= module_file_name %>_path(@<%= module_file_name %>)) do |form| %>
2
+ <table>
3
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
4
+ <tr>
5
+ <th rowspan='<%= Apiotics.configuration.targets[module_name][key].count %>'>
6
+ <%= key %>
7
+ </th>
8
+ <%%= form.simple_fields_for :<%= key.underscore.downcase %> do |fields| %>
9
+ <% n = 0 %>
10
+ <% Apiotics.configuration.targets[module_name][key].each do |interface| %>
11
+ <% if n != 0 %>
12
+ <tr>
13
+ <% end %>
14
+ <td>
15
+ <%%= fields.input :<%= interface %> %>
16
+ </td>
17
+ <% if n != 0 %>
18
+ </tr>
19
+ <% end %>
20
+ <% n += 1 %>
21
+ <% end %>
22
+ <%% end %>
23
+ </tr>
24
+ <% end %>
25
+ <tr>
26
+ <th>
27
+ &nbsp;
28
+ </th>
29
+ <td>
30
+ <div class="actions">
31
+ <%%= form.submit %>
32
+ </div>
33
+ </td>
34
+ </tr>
35
+ </table>
36
+ <%% end %>
@@ -0,0 +1,57 @@
1
+ <p id="notice"><%%= notice %></p>
2
+ <h1>
3
+ <%= module_name %>s
4
+ </h1>
5
+
6
+ <table>
7
+ <thead>
8
+ <tr>
9
+ <th style="border: 1px solid black;">
10
+ Id
11
+ </th>
12
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
13
+ <th colspan='<%= Apiotics.configuration.targets[module_name][key].count %>' style="border: 1px solid black;">
14
+ <%= key %>
15
+ </th>
16
+ <% end %>
17
+ <th style="border: 1px solid black;">
18
+ &nbsp;
19
+ </th>
20
+ </tr>
21
+ <tr>
22
+ <th>
23
+ &nbsp;
24
+ </th>
25
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
26
+ <% Apiotics.configuration.targets[module_name][key].each do |interface| %>
27
+ <th>
28
+ <%= interface %>
29
+ </th>
30
+ <% end %>
31
+ <% end %>
32
+ <th>
33
+ &nbsp;
34
+ </th>
35
+ </tr>
36
+ </thead>
37
+ <tbody>
38
+ <%% @<%= module_file_name %>s.each do |object| %>
39
+ <tr id='<%%= object.apiotics_instance %>'>
40
+ <td>
41
+ <%%= object.apiotics_instance %>
42
+ </td>
43
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
44
+ <% Apiotics.configuration.targets[module_name][key].each do |interface| %>
45
+ <td class='<%= module_file_name %>-<%= key.underscore.downcase %>-<%= interface %>'>
46
+ <%%= object.<%= key.underscore.downcase %>.<%= interface %> %>
47
+ </td>
48
+ <% end %>
49
+ <% end %>
50
+ <td>
51
+ <%%= link_to "Edit", edit_<%= module_file_name %>_path(object)%>
52
+ <%%= link_to "Show", <%= module_file_name %>_path(object) %>
53
+ </td>
54
+ </tr>
55
+ <%% end %>
56
+ </tbody>
57
+ </table>
@@ -0,0 +1,47 @@
1
+ <p id="notice"><%%= notice %></p>
2
+ <h1>
3
+ <%= module_name %>
4
+ </h1>
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th style="border: 1px solid black;">
9
+ Id
10
+ </th>
11
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
12
+ <th colspan='<%= Apiotics.configuration.targets[module_name][key].count %>' style="border: 1px solid black;">
13
+ <%= key %>
14
+ </th>
15
+ <% end %>
16
+ </tr>
17
+ <tr>
18
+ <th>
19
+ &nbsp;
20
+ </th>
21
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
22
+ <% Apiotics.configuration.targets[module_name][key].each do |interface| %>
23
+ <th>
24
+ <%= interface %>
25
+ </th>
26
+ <% end %>
27
+ <% end %>
28
+ </tr>
29
+ </thead>
30
+ <tbody>
31
+ <tr id='<%%= @<%= module_file_name %>.apiotics_instance %>'>
32
+ <td>
33
+ <%%= @<%= module_file_name %>.apiotics_instance %>
34
+ </td>
35
+ <% Apiotics.configuration.targets[module_name].keys.each do |key| %>
36
+ <% Apiotics.configuration.targets[module_name][key].each do |interface| %>
37
+ <td class='<%= module_file_name %>-<%= key.underscore.downcase %>-<%= interface %>'>
38
+ <%%= @<%= module_file_name %>.<%= key.underscore.downcase %>.<%= interface %> %>
39
+ </td>
40
+ <% end %>
41
+ <% end %>
42
+ </tr>
43
+ </tbody>
44
+ </table>
45
+
46
+ <%%= link_to 'Edit', edit_<%= module_file_name %>_path(@<%= module_file_name %>) %> |
47
+ <%%= link_to 'Back', <%= module_file_name %>s_path %>
@@ -0,0 +1,26 @@
1
+ module Apiotics
2
+ class ViewGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('../templates', __FILE__)
4
+ argument :parent, :type => :string
5
+
6
+ def copy_scaffold_files
7
+ @models = Apiotics.configuration.targets[module_name.to_s]
8
+ template "show.html.erb", "app/views/#{module_file_name}/#{module_file_name.pluralize}/show.html.erb"
9
+ template "edit.html.erb", "app/views/#{module_file_name}/#{module_file_name.pluralize}/edit.html.erb"
10
+ template "index.html.erb", "app/views/#{module_file_name}/#{module_file_name.pluralize}/index.html.erb"
11
+ template "form.html.erb", "app/views/#{module_file_name}/#{module_file_name.pluralize}/_form.html.erb"
12
+ template "default.css.erb", "app/assets/stylesheets/#{module_file_name}.css"
13
+ end
14
+
15
+ private
16
+
17
+ def module_file_name
18
+ parent.underscore
19
+ end
20
+
21
+ def module_name
22
+ parent.classify
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+
3
+ #task :apiotics do
4
+ #end
metadata ADDED
@@ -0,0 +1,237 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: apiotics
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.22
5
+ platform: ruby
6
+ authors:
7
+ - MicroArx Corporation
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: httparty
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.14'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: daemons
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rest-client
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simple_form
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: redis
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pg
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: coffee-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: puma
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: "."
140
+ email: info@apiotics.com
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files: []
144
+ files:
145
+ - MIT-LICENSE
146
+ - README.md
147
+ - Rakefile
148
+ - lib/apiotics.rb
149
+ - lib/apiotics/client.rb
150
+ - lib/apiotics/configuration.rb
151
+ - lib/apiotics/extract.rb
152
+ - lib/apiotics/insert.rb
153
+ - lib/apiotics/parse.rb
154
+ - lib/apiotics/portal.rb
155
+ - lib/apiotics/railtie.rb
156
+ - lib/apiotics/server.rb
157
+ - lib/apiotics/version.rb
158
+ - lib/generators/apiotics/channel/USAGE
159
+ - lib/generators/apiotics/channel/channel_generator.rb
160
+ - lib/generators/apiotics/channel/templates/apiotics_channel.rb.erb
161
+ - lib/generators/apiotics/channel/templates/apiotics_channel_client.coffee.erb
162
+ - lib/generators/apiotics/channel/templates/apiotics_channel_initializer.rb.erb
163
+ - lib/generators/apiotics/controller/USAGE
164
+ - lib/generators/apiotics/controller/controller_generator.rb
165
+ - lib/generators/apiotics/controller/templates/apiotics_scaffold.rb.erb
166
+ - lib/generators/apiotics/create_model/USAGE
167
+ - lib/generators/apiotics/create_model/create_model_generator.rb
168
+ - lib/generators/apiotics/create_model/templates/apiotics_logs_model.rb.erb
169
+ - lib/generators/apiotics/create_model/templates/apiotics_model.rb.erb
170
+ - lib/generators/apiotics/create_model/templates/apiotics_module.rb.erb
171
+ - lib/generators/apiotics/create_model/templates/apiotics_module_model.rb.erb
172
+ - lib/generators/apiotics/create_model/templates/create_module_model_table.rb.erb
173
+ - lib/generators/apiotics/create_table/USAGE
174
+ - lib/generators/apiotics/create_table/create_table_generator.rb
175
+ - lib/generators/apiotics/create_table/templates/create_logs_table.rb.erb
176
+ - lib/generators/apiotics/create_table/templates/create_table.rb.erb
177
+ - lib/generators/apiotics/initializer/USAGE
178
+ - lib/generators/apiotics/initializer/initializer_generator.rb
179
+ - lib/generators/apiotics/initializer/templates/apiotics.rb.erb
180
+ - lib/generators/apiotics/initializer/templates/apiotics_module.rb.erb
181
+ - lib/generators/apiotics/initializer/templates/apiotics_settings.rb.erb
182
+ - lib/generators/apiotics/initializer/templates/apiotics_targets.rb.erb
183
+ - lib/generators/apiotics/initializer/templates/setting.rb.erb
184
+ - lib/generators/apiotics/install/USAGE
185
+ - lib/generators/apiotics/install/install_generator.rb
186
+ - lib/generators/apiotics/migration/USAGE
187
+ - lib/generators/apiotics/migration/migration_generator.rb
188
+ - lib/generators/apiotics/migration/templates/create_logs_table.rb.erb
189
+ - lib/generators/apiotics/migration/templates/migrate_table.rb.erb
190
+ - lib/generators/apiotics/model/USAGE
191
+ - lib/generators/apiotics/model/model_generator.rb
192
+ - lib/generators/apiotics/script/USAGE
193
+ - lib/generators/apiotics/script/script_generator.rb
194
+ - lib/generators/apiotics/script/templates/comm_server.rake
195
+ - lib/generators/apiotics/script/templates/dev_comm_server.rake
196
+ - lib/generators/apiotics/script/templates/dev_server.rb
197
+ - lib/generators/apiotics/script/templates/dev_server_control.rb
198
+ - lib/generators/apiotics/script/templates/publish_script.rake
199
+ - lib/generators/apiotics/script/templates/script.rb.erb
200
+ - lib/generators/apiotics/script/templates/server.rb
201
+ - lib/generators/apiotics/script/templates/server_control.rb
202
+ - lib/generators/apiotics/script/templates/test_comm_server.rake
203
+ - lib/generators/apiotics/script/templates/test_server.rb
204
+ - lib/generators/apiotics/script/templates/test_server_control.rb
205
+ - lib/generators/apiotics/view/USAGE
206
+ - lib/generators/apiotics/view/templates/default.css.erb
207
+ - lib/generators/apiotics/view/templates/edit.html.erb
208
+ - lib/generators/apiotics/view/templates/form.html.erb
209
+ - lib/generators/apiotics/view/templates/index.html.erb
210
+ - lib/generators/apiotics/view/templates/show.html.erb
211
+ - lib/generators/apiotics/view/view_generator.rb
212
+ - lib/tasks/simbiotes_tasks.rake
213
+ homepage: https://www.apiotics.com
214
+ licenses:
215
+ - MIT
216
+ metadata: {}
217
+ post_install_message:
218
+ rdoc_options: []
219
+ require_paths:
220
+ - lib
221
+ required_ruby_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ requirements: []
232
+ rubyforge_project:
233
+ rubygems_version: 2.6.10
234
+ signing_key:
235
+ specification_version: 4
236
+ summary: IoT For Everybody.
237
+ test_files: []