mass_record 0.0.4.0 → 0.0.4.1

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mass_record.rb +2 -2
  3. data/lib/mass_record/version.rb +1 -1
  4. data/test/dummy/app/assets/javascripts/mysql_widgets.js +2 -0
  5. data/test/dummy/app/assets/javascripts/sql_server_widgets.js +2 -0
  6. data/test/dummy/app/assets/javascripts/widgets.js +2 -0
  7. data/test/dummy/app/assets/stylesheets/mysql_widgets.css +4 -0
  8. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  9. data/test/dummy/app/assets/stylesheets/sql_server_widgets.css +4 -0
  10. data/test/dummy/app/assets/stylesheets/widgets.css +4 -0
  11. data/test/dummy/app/controllers/mysql_widgets_controller.rb +58 -0
  12. data/test/dummy/app/controllers/sql_server_widgets_controller.rb +58 -0
  13. data/test/dummy/app/controllers/widgets_controller.rb +58 -0
  14. data/test/dummy/app/helpers/mysql_widgets_helper.rb +2 -0
  15. data/test/dummy/app/helpers/sql_server_widgets_helper.rb +2 -0
  16. data/test/dummy/app/helpers/widgets_helper.rb +2 -0
  17. data/test/dummy/app/models/mysql_widget.rb +4 -0
  18. data/test/dummy/app/models/sql_server_widget.rb +4 -0
  19. data/test/dummy/app/models/widget.rb +4 -0
  20. data/test/dummy/app/views/mysql_widgets/_form.html.erb +89 -0
  21. data/test/dummy/app/views/mysql_widgets/edit.html.erb +6 -0
  22. data/test/dummy/app/views/mysql_widgets/index.html.erb +59 -0
  23. data/test/dummy/app/views/mysql_widgets/new.html.erb +5 -0
  24. data/test/dummy/app/views/mysql_widgets/show.html.erb +94 -0
  25. data/test/dummy/app/views/sql_server_widgets/_form.html.erb +89 -0
  26. data/test/dummy/app/views/sql_server_widgets/edit.html.erb +6 -0
  27. data/test/dummy/app/views/sql_server_widgets/index.html.erb +59 -0
  28. data/test/dummy/app/views/sql_server_widgets/new.html.erb +5 -0
  29. data/test/dummy/app/views/sql_server_widgets/show.html.erb +94 -0
  30. data/test/dummy/app/views/widgets/_form.html.erb +89 -0
  31. data/test/dummy/app/views/widgets/edit.html.erb +6 -0
  32. data/test/dummy/app/views/widgets/index.html.erb +59 -0
  33. data/test/dummy/app/views/widgets/new.html.erb +5 -0
  34. data/test/dummy/app/views/widgets/show.html.erb +94 -0
  35. data/test/dummy/config/database.yml +46 -1
  36. data/test/dummy/config/routes.rb +6 -0
  37. data/test/dummy/db/development +0 -0
  38. data/test/dummy/db/development.sqlite3 +0 -0
  39. data/test/dummy/db/migrate/20141208210434_create_mysql_widgets.rb +27 -0
  40. data/test/dummy/db/migrate/20141208221412_create_widgets.rb +27 -0
  41. data/test/dummy/db/migrate/20141208225325_create_sql_server_widgets.rb.ignore +27 -0
  42. data/test/dummy/db/production.sqlite3 +0 -0
  43. data/test/dummy/db/schema.rb +41 -0
  44. data/test/dummy/db/test.sqlite3 +0 -0
  45. data/test/dummy/log/development.log +197 -0
  46. data/test/dummy/log/mysql_development.log +13 -0
  47. data/test/dummy/log/mysql_test.log +7 -0
  48. data/test/dummy/log/sql_server_development.log +9 -0
  49. data/test/dummy/log/test.log +51 -0
  50. data/test/dummy/test/controllers/mysql_widgets_controller_test.rb +49 -0
  51. data/test/dummy/test/controllers/sql_server_widgets_controller_test.rb +49 -0
  52. data/test/dummy/test/controllers/widgets_controller_test.rb +49 -0
  53. data/test/dummy/test/fixtures/mysql_widgets.yml +41 -0
  54. data/test/dummy/test/fixtures/sql_server_widgets.yml +41 -0
  55. data/test/dummy/test/fixtures/widgets.yml +41 -0
  56. data/test/dummy/test/helpers/mysql_widgets_helper_test.rb +4 -0
  57. data/test/dummy/test/helpers/sql_server_widgets_helper_test.rb +4 -0
  58. data/test/dummy/test/helpers/widgets_helper_test.rb +33 -0
  59. data/test/dummy/test/models/mysql_widget_test.rb +7 -0
  60. data/test/dummy/test/models/sql_server_widget_test.rb +7 -0
  61. data/test/dummy/test/models/widget_test.rb +7 -0
  62. data/test/dummy/tmp/sample.jpg +0 -0
  63. data/test/dummy/tmp/sample2.jpg +0 -0
  64. data/test/dummy/tmp/sample3.jpg +0 -0
  65. metadata +176 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 519bc877db9efb22dd6802ab3a70f47c137cf453
4
- data.tar.gz: d97a25596664645111adc86a81177e6f1d95b10e
3
+ metadata.gz: bddf0b06de4f4b11710090c474b889d38f4a75dd
4
+ data.tar.gz: 762705783d7ec837c1942fb4244690b61407db1f
5
5
  SHA512:
6
- metadata.gz: 81556aec165ea40b8da20faaafba2dc47606b74405b586de5f68cb423c4976a8143383e38013e556a83bd18b8a364c5ae7dc52a3c57fc17ab769c9fcf8ce5278
7
- data.tar.gz: 4920226f001443c9cb5ae72207955b5511f8d82ab746956fae0c489283b078343e5452fb8bcf649cf9b2210d18ac42cdb93488e79157cfbe84cf044210abdbfb
6
+ metadata.gz: edab292038bae689fc9ba723a0ddde4778069515710b47aa053a22475964e500097f99f6fa4f27dc16747b4b9b9369f6afcb722dc321c62890caad84ca733788
7
+ data.tar.gz: 467815281b708f73f620b80b3207f6599a6b7d9607d57f8f8bdae0186f3edfef58a019173b31d77b77545316adc3c599b31cc5b3862f53688955280f931b9093
data/lib/mass_record.rb CHANGED
@@ -87,7 +87,7 @@ module MassRecord
87
87
  errored:path[:errored_queries],
88
88
  completed:path[:completed_queries]
89
89
  },file_tag:Time.now.strftime("%Y%m%d%H%M%S%L").to_s
90
- self.individual_count = self.mass_count = 0
90
+ self.individual_count, self.mass_count, errored_objects = 0,0,[]
91
91
 
92
92
  files = Dir.foreach(folder[:queued]).collect{|x| x}.keep_if{|y|y=~/\.json$/i}
93
93
  json_objects = []
@@ -152,7 +152,7 @@ module MassRecord
152
152
  File.open("#{folder[:errored]}/all_#{file_tag}.json",'w'){|f| f.write json_objects.to_json}
153
153
  end
154
154
  end
155
-
155
+
156
156
  # Delete all the original files
157
157
  file_names = files.collect{|x| "#{folder[:queued]}/#{x}.processing"}
158
158
  File.delete(*file_names)
@@ -1,3 +1,3 @@
1
1
  module MassRecord
2
- VERSION = "0.0.4.0" # added handling to work with Jeremy's validations
2
+ VERSION = "0.0.4.1" # fixed bug in logging errors when no errors were present
3
3
  end
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,58 @@
1
+ class MysqlWidgetsController < ApplicationController
2
+ before_action :set_mysql_widget, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /mysql_widgets
5
+ def index
6
+ @mysql_widgets = MysqlWidget.all
7
+ end
8
+
9
+ # GET /mysql_widgets/1
10
+ def show
11
+ end
12
+
13
+ # GET /mysql_widgets/new
14
+ def new
15
+ @mysql_widget = MysqlWidget.new
16
+ end
17
+
18
+ # GET /mysql_widgets/1/edit
19
+ def edit
20
+ end
21
+
22
+ # POST /mysql_widgets
23
+ def create
24
+ @mysql_widget = MysqlWidget.new(mysql_widget_params)
25
+
26
+ if @mysql_widget.save
27
+ redirect_to @mysql_widget, notice: 'Mysql widget was successfully created.'
28
+ else
29
+ render :new
30
+ end
31
+ end
32
+
33
+ # PATCH/PUT /mysql_widgets/1
34
+ def update
35
+ if @mysql_widget.update(mysql_widget_params)
36
+ redirect_to @mysql_widget, notice: 'Mysql widget was successfully updated.'
37
+ else
38
+ render :edit
39
+ end
40
+ end
41
+
42
+ # DELETE /mysql_widgets/1
43
+ def destroy
44
+ @mysql_widget.destroy
45
+ redirect_to mysql_widgets_url, notice: 'Mysql widget was successfully destroyed.'
46
+ end
47
+
48
+ private
49
+ # Use callbacks to share common setup or constraints between actions.
50
+ def set_mysql_widget
51
+ @mysql_widget = MysqlWidget.find(params[:id])
52
+ end
53
+
54
+ # Only allow a trusted parameter "white list" through.
55
+ def mysql_widget_params
56
+ params.require(:mysql_widget).permit(:binary, :boolean, :date, :datetime, :decimal, :float, :integer, :references_id, :string, :text, :time, :timestamp, :hstore, :json, :array, :cidr_address, :ip_address, :mac_address)
57
+ end
58
+ end
@@ -0,0 +1,58 @@
1
+ class SqlServerWidgetsController < ApplicationController
2
+ before_action :set_sql_server_widget, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /sql_server_widgets
5
+ def index
6
+ @sql_server_widgets = SqlServerWidget.all
7
+ end
8
+
9
+ # GET /sql_server_widgets/1
10
+ def show
11
+ end
12
+
13
+ # GET /sql_server_widgets/new
14
+ def new
15
+ @sql_server_widget = SqlServerWidget.new
16
+ end
17
+
18
+ # GET /sql_server_widgets/1/edit
19
+ def edit
20
+ end
21
+
22
+ # POST /sql_server_widgets
23
+ def create
24
+ @sql_server_widget = SqlServerWidget.new(sql_server_widget_params)
25
+
26
+ if @sql_server_widget.save
27
+ redirect_to @sql_server_widget, notice: 'Sql server widget was successfully created.'
28
+ else
29
+ render :new
30
+ end
31
+ end
32
+
33
+ # PATCH/PUT /sql_server_widgets/1
34
+ def update
35
+ if @sql_server_widget.update(sql_server_widget_params)
36
+ redirect_to @sql_server_widget, notice: 'Sql server widget was successfully updated.'
37
+ else
38
+ render :edit
39
+ end
40
+ end
41
+
42
+ # DELETE /sql_server_widgets/1
43
+ def destroy
44
+ @sql_server_widget.destroy
45
+ redirect_to sql_server_widgets_url, notice: 'Sql server widget was successfully destroyed.'
46
+ end
47
+
48
+ private
49
+ # Use callbacks to share common setup or constraints between actions.
50
+ def set_sql_server_widget
51
+ @sql_server_widget = SqlServerWidget.find(params[:id])
52
+ end
53
+
54
+ # Only allow a trusted parameter "white list" through.
55
+ def sql_server_widget_params
56
+ params.require(:sql_server_widget).permit(:binary, :boolean, :date, :datetime, :decimal, :float, :integer, :references_id, :string, :text, :time, :timestamp, :hstore, :json, :array, :cidr_address, :ip_address, :mac_address)
57
+ end
58
+ end
@@ -0,0 +1,58 @@
1
+ class WidgetsController < ApplicationController
2
+ before_action :set_widget, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /widgets
5
+ def index
6
+ @widgets = Widget.all
7
+ end
8
+
9
+ # GET /widgets/1
10
+ def show
11
+ end
12
+
13
+ # GET /widgets/new
14
+ def new
15
+ @widget = Widget.new
16
+ end
17
+
18
+ # GET /widgets/1/edit
19
+ def edit
20
+ end
21
+
22
+ # POST /widgets
23
+ def create
24
+ @widget = Widget.new(widget_params)
25
+
26
+ if @widget.save
27
+ redirect_to @widget, notice: 'Widget was successfully created.'
28
+ else
29
+ render :new
30
+ end
31
+ end
32
+
33
+ # PATCH/PUT /widgets/1
34
+ def update
35
+ if @widget.update(widget_params)
36
+ redirect_to @widget, notice: 'Widget was successfully updated.'
37
+ else
38
+ render :edit
39
+ end
40
+ end
41
+
42
+ # DELETE /widgets/1
43
+ def destroy
44
+ @widget.destroy
45
+ redirect_to widgets_url, notice: 'Widget was successfully destroyed.'
46
+ end
47
+
48
+ private
49
+ # Use callbacks to share common setup or constraints between actions.
50
+ def set_widget
51
+ @widget = Widget.find(params[:id])
52
+ end
53
+
54
+ # Only allow a trusted parameter "white list" through.
55
+ def widget_params
56
+ params.require(:widget).permit(:binary, :boolean, :date, :datetime, :decimal, :float, :integer, :references_id, :string, :text, :time, :timestamp, :hstore, :json, :array, :cidr_address, :ip_address, :mac_address)
57
+ end
58
+ end
@@ -0,0 +1,2 @@
1
+ module MysqlWidgetsHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module SqlServerWidgetsHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module WidgetsHelper
2
+ end
@@ -0,0 +1,4 @@
1
+ class MysqlWidget < ActiveRecord::Base
2
+ belongs_to :references
3
+ establish_connection "mysql_#{Rails.env}".to_sym
4
+ end
@@ -0,0 +1,4 @@
1
+ class SqlServerWidget < ActiveRecord::Base
2
+ belongs_to :references
3
+ establish_connection "sql_server_#{Rails.env}".to_sym
4
+ end
@@ -0,0 +1,4 @@
1
+ class Widget < ActiveRecord::Base
2
+ belongs_to :references
3
+ establish_connection Rails.env.to_sym
4
+ end
@@ -0,0 +1,89 @@
1
+ <%= form_for(@mysql_widget) do |f| %>
2
+ <% if @mysql_widget.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@mysql_widget.errors.count, "error") %> prohibited this mysql_widget from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @mysql_widget.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :binary %><br>
16
+ <%= f.text_field :binary %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :boolean %><br>
20
+ <%= f.check_box :boolean %>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :date %><br>
24
+ <%= f.date_select :date %>
25
+ </div>
26
+ <div class="field">
27
+ <%= f.label :datetime %><br>
28
+ <%= f.datetime_select :datetime %>
29
+ </div>
30
+ <div class="field">
31
+ <%= f.label :decimal %><br>
32
+ <%= f.text_field :decimal %>
33
+ </div>
34
+ <div class="field">
35
+ <%= f.label :float %><br>
36
+ <%= f.text_field :float %>
37
+ </div>
38
+ <div class="field">
39
+ <%= f.label :integer %><br>
40
+ <%= f.number_field :integer %>
41
+ </div>
42
+ <div class="field">
43
+ <%= f.label :references_id %><br>
44
+ <%= f.text_field :references_id %>
45
+ </div>
46
+ <div class="field">
47
+ <%= f.label :string %><br>
48
+ <%= f.text_field :string %>
49
+ </div>
50
+ <div class="field">
51
+ <%= f.label :text %><br>
52
+ <%= f.text_area :text %>
53
+ </div>
54
+ <div class="field">
55
+ <%= f.label :time %><br>
56
+ <%= f.time_select :time %>
57
+ </div>
58
+ <div class="field">
59
+ <%= f.label :timestamp %><br>
60
+ <%= f.datetime_select :timestamp %>
61
+ </div>
62
+ <div class="field">
63
+ <%= f.label :hstore %><br>
64
+ <%= f.text_area :hstore %>
65
+ </div>
66
+ <div class="field">
67
+ <%= f.label :json %><br>
68
+ <%= f.text_area :json %>
69
+ </div>
70
+ <div class="field">
71
+ <%= f.label :array %><br>
72
+ <%= f.text_area :array %>
73
+ </div>
74
+ <div class="field">
75
+ <%= f.label :cidr_address %><br>
76
+ <%= f.text_area :cidr_address %>
77
+ </div>
78
+ <div class="field">
79
+ <%= f.label :ip_address %><br>
80
+ <%= f.text_area :ip_address %>
81
+ </div>
82
+ <div class="field">
83
+ <%= f.label :mac_address %><br>
84
+ <%= f.text_area :mac_address %>
85
+ </div>
86
+ <div class="actions">
87
+ <%= f.submit %>
88
+ </div>
89
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing mysql_widget</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @mysql_widget %> |
6
+ <%= link_to 'Back', mysql_widgets_path %>
@@ -0,0 +1,59 @@
1
+ <h1>Listing mysql_widgets</h1>
2
+
3
+ <table>
4
+ <thead>
5
+ <tr>
6
+ <th>Binary</th>
7
+ <th>Boolean</th>
8
+ <th>Date</th>
9
+ <th>Datetime</th>
10
+ <th>Decimal</th>
11
+ <th>Float</th>
12
+ <th>Integer</th>
13
+ <th>References</th>
14
+ <th>String</th>
15
+ <th>Text</th>
16
+ <th>Time</th>
17
+ <th>Timestamp</th>
18
+ <th>Hstore</th>
19
+ <th>Json</th>
20
+ <th>Array</th>
21
+ <th>Cidr address</th>
22
+ <th>Ip address</th>
23
+ <th>Mac address</th>
24
+ <th colspan="3"></th>
25
+ </tr>
26
+ </thead>
27
+
28
+ <tbody>
29
+ <% @mysql_widgets.each do |mysql_widget| %>
30
+ <tr>
31
+ <td><%= mysql_widget.binary %></td>
32
+ <td><%= mysql_widget.boolean %></td>
33
+ <td><%= mysql_widget.date %></td>
34
+ <td><%= mysql_widget.datetime %></td>
35
+ <td><%= mysql_widget.decimal %></td>
36
+ <td><%= mysql_widget.float %></td>
37
+ <td><%= mysql_widget.integer %></td>
38
+ <td><%= mysql_widget.references %></td>
39
+ <td><%= mysql_widget.string %></td>
40
+ <td><%= mysql_widget.text %></td>
41
+ <td><%= mysql_widget.time %></td>
42
+ <td><%= mysql_widget.timestamp %></td>
43
+ <td><%= mysql_widget.hstore %></td>
44
+ <td><%= mysql_widget.json %></td>
45
+ <td><%= mysql_widget.array %></td>
46
+ <td><%= mysql_widget.cidr_address %></td>
47
+ <td><%= mysql_widget.ip_address %></td>
48
+ <td><%= mysql_widget.mac_address %></td>
49
+ <td><%= link_to 'Show', mysql_widget %></td>
50
+ <td><%= link_to 'Edit', edit_mysql_widget_path(mysql_widget) %></td>
51
+ <td><%= link_to 'Destroy', mysql_widget, method: :delete, data: { confirm: 'Are you sure?' } %></td>
52
+ </tr>
53
+ <% end %>
54
+ </tbody>
55
+ </table>
56
+
57
+ <br>
58
+
59
+ <%= link_to 'New Mysql widget', new_mysql_widget_path %>