mass_record 0.0.4.0 → 0.0.4.1

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