views 0.0.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 (52) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/lib/generators/views/templates/view.sql +0 -0
  5. data/lib/generators/views/view_generator.rb +15 -0
  6. data/lib/tasks/views.rake +7 -0
  7. data/lib/views/version.rb +3 -0
  8. data/lib/views.rb +52 -0
  9. data/test/dummy/Rakefile +5 -0
  10. data/test/dummy/app/assets/javascripts/application.js +13 -0
  11. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  12. data/test/dummy/app/controllers/application_controller.rb +5 -0
  13. data/test/dummy/app/helpers/application_helper.rb +2 -0
  14. data/test/dummy/app/models/product.rb +2 -0
  15. data/test/dummy/app/views/layouts/application.html.erb +12 -0
  16. data/test/dummy/bin/bundle +3 -0
  17. data/test/dummy/bin/rails +4 -0
  18. data/test/dummy/bin/rake +4 -0
  19. data/test/dummy/bin/setup +29 -0
  20. data/test/dummy/config/application.rb +25 -0
  21. data/test/dummy/config/boot.rb +5 -0
  22. data/test/dummy/config/database.yml +10 -0
  23. data/test/dummy/config/database.yml.travis +12 -0
  24. data/test/dummy/config/environment.rb +5 -0
  25. data/test/dummy/config/environments/development.rb +41 -0
  26. data/test/dummy/config/environments/production.rb +79 -0
  27. data/test/dummy/config/environments/test.rb +42 -0
  28. data/test/dummy/config/initializers/assets.rb +11 -0
  29. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  30. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  31. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  32. data/test/dummy/config/initializers/inflections.rb +16 -0
  33. data/test/dummy/config/initializers/mime_types.rb +4 -0
  34. data/test/dummy/config/initializers/session_store.rb +3 -0
  35. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  36. data/test/dummy/config/locales/en.yml +23 -0
  37. data/test/dummy/config/routes.rb +56 -0
  38. data/test/dummy/config/secrets.yml +22 -0
  39. data/test/dummy/config.ru +4 -0
  40. data/test/dummy/db/migrate/20161017172847_create_products.rb +10 -0
  41. data/test/dummy/db/schema.rb +26 -0
  42. data/test/dummy/db/views/guitars.sql +7 -0
  43. data/test/dummy/log/development.log +68 -0
  44. data/test/dummy/log/test.log +1138 -0
  45. data/test/dummy/public/404.html +67 -0
  46. data/test/dummy/public/422.html +67 -0
  47. data/test/dummy/public/500.html +66 -0
  48. data/test/dummy/public/favicon.ico +0 -0
  49. data/test/generators_test.rb +19 -0
  50. data/test/tasks_test.rb +28 -0
  51. data/test/test_helper.rb +14 -0
  52. metadata +185 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+ require 'rails/generators'
3
+ require 'generators/views/view_generator'
4
+
5
+ class GeneratorsTest < Rails::Generators::TestCase
6
+
7
+ tests Views::Generators::ViewGenerator
8
+ destination Rails.root.join('tmp')
9
+
10
+ teardown do
11
+ FileUtils.rm_rf destination_root
12
+ end
13
+
14
+ test 'file generation' do
15
+ run_generator %w(guitars)
16
+ assert_file 'db/views/guitars.sql'
17
+ end
18
+
19
+ end
@@ -0,0 +1,28 @@
1
+ require 'test_helper'
2
+
3
+ class TasksTest < ActiveSupport::TestCase
4
+
5
+ setup do
6
+ load File.expand_path('../../lib/tasks/views.rake', __FILE__)
7
+ Rake::Task.define_task :environment
8
+ FileUtils.rm_rf Rails.root.join('tmp/digests/db/views')
9
+ end
10
+
11
+ test 'sync' do
12
+ Product.create(name: 'Les Paul', category: 'Guitar')
13
+ Product.create(name: 'Laney', category: 'Amps')
14
+
15
+ Rake::Task['db:views:sync'].invoke
16
+ assert_equal 1, connection.execute('SELECT * FROM guitars').to_a.size
17
+
18
+ connection.expects(:execute).never
19
+ Rake::Task['db:views:sync'].invoke
20
+ end
21
+
22
+ private
23
+
24
+ def connection
25
+ ActiveRecord::Base.connection
26
+ end
27
+
28
+ end
@@ -0,0 +1,14 @@
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
+
4
+ require File.expand_path('../../test/dummy/config/environment.rb', __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path('../../test/dummy/db/migrate', __FILE__)]
6
+ require 'rails/test_help'
7
+ require 'mocha/mini_test'
8
+
9
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
10
+ # to be shown.
11
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
12
+
13
+ # Load support files
14
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
metadata ADDED
@@ -0,0 +1,185 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: views
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Mathías Montossi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-10-18 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: 4.2.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 4.3.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.2.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 4.3.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: pg
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.18'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.18'
47
+ - !ruby/object:Gem::Dependency
48
+ name: mocha
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.1'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.1'
61
+ description: Simple way to manage database views in rails.
62
+ email:
63
+ - mmontossi@buyin.io
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - MIT-LICENSE
69
+ - Rakefile
70
+ - lib/generators/views/templates/view.sql
71
+ - lib/generators/views/view_generator.rb
72
+ - lib/tasks/views.rake
73
+ - lib/views.rb
74
+ - lib/views/version.rb
75
+ - test/dummy/Rakefile
76
+ - test/dummy/app/assets/javascripts/application.js
77
+ - test/dummy/app/assets/stylesheets/application.css
78
+ - test/dummy/app/controllers/application_controller.rb
79
+ - test/dummy/app/helpers/application_helper.rb
80
+ - test/dummy/app/models/product.rb
81
+ - test/dummy/app/views/layouts/application.html.erb
82
+ - test/dummy/bin/bundle
83
+ - test/dummy/bin/rails
84
+ - test/dummy/bin/rake
85
+ - test/dummy/bin/setup
86
+ - test/dummy/config.ru
87
+ - test/dummy/config/application.rb
88
+ - test/dummy/config/boot.rb
89
+ - test/dummy/config/database.yml
90
+ - test/dummy/config/database.yml.travis
91
+ - test/dummy/config/environment.rb
92
+ - test/dummy/config/environments/development.rb
93
+ - test/dummy/config/environments/production.rb
94
+ - test/dummy/config/environments/test.rb
95
+ - test/dummy/config/initializers/assets.rb
96
+ - test/dummy/config/initializers/backtrace_silencers.rb
97
+ - test/dummy/config/initializers/cookies_serializer.rb
98
+ - test/dummy/config/initializers/filter_parameter_logging.rb
99
+ - test/dummy/config/initializers/inflections.rb
100
+ - test/dummy/config/initializers/mime_types.rb
101
+ - test/dummy/config/initializers/session_store.rb
102
+ - test/dummy/config/initializers/wrap_parameters.rb
103
+ - test/dummy/config/locales/en.yml
104
+ - test/dummy/config/routes.rb
105
+ - test/dummy/config/secrets.yml
106
+ - test/dummy/db/migrate/20161017172847_create_products.rb
107
+ - test/dummy/db/schema.rb
108
+ - test/dummy/db/views/guitars.sql
109
+ - test/dummy/log/development.log
110
+ - test/dummy/log/test.log
111
+ - test/dummy/public/404.html
112
+ - test/dummy/public/422.html
113
+ - test/dummy/public/500.html
114
+ - test/dummy/public/favicon.ico
115
+ - test/generators_test.rb
116
+ - test/tasks_test.rb
117
+ - test/test_helper.rb
118
+ homepage: https://github.com/mmontossi/views
119
+ licenses:
120
+ - MIT
121
+ metadata: {}
122
+ post_install_message:
123
+ rdoc_options: []
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 2.1.0
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project:
138
+ rubygems_version: 2.5.1
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Database views for rails.
142
+ test_files:
143
+ - test/dummy/app/assets/javascripts/application.js
144
+ - test/dummy/app/assets/stylesheets/application.css
145
+ - test/dummy/app/controllers/application_controller.rb
146
+ - test/dummy/app/helpers/application_helper.rb
147
+ - test/dummy/app/models/product.rb
148
+ - test/dummy/app/views/layouts/application.html.erb
149
+ - test/dummy/bin/bundle
150
+ - test/dummy/bin/rails
151
+ - test/dummy/bin/rake
152
+ - test/dummy/bin/setup
153
+ - test/dummy/config/application.rb
154
+ - test/dummy/config/boot.rb
155
+ - test/dummy/config/database.yml
156
+ - test/dummy/config/database.yml.travis
157
+ - test/dummy/config/environment.rb
158
+ - test/dummy/config/environments/development.rb
159
+ - test/dummy/config/environments/production.rb
160
+ - test/dummy/config/environments/test.rb
161
+ - test/dummy/config/initializers/assets.rb
162
+ - test/dummy/config/initializers/backtrace_silencers.rb
163
+ - test/dummy/config/initializers/cookies_serializer.rb
164
+ - test/dummy/config/initializers/filter_parameter_logging.rb
165
+ - test/dummy/config/initializers/inflections.rb
166
+ - test/dummy/config/initializers/mime_types.rb
167
+ - test/dummy/config/initializers/session_store.rb
168
+ - test/dummy/config/initializers/wrap_parameters.rb
169
+ - test/dummy/config/locales/en.yml
170
+ - test/dummy/config/routes.rb
171
+ - test/dummy/config/secrets.yml
172
+ - test/dummy/config.ru
173
+ - test/dummy/db/migrate/20161017172847_create_products.rb
174
+ - test/dummy/db/schema.rb
175
+ - test/dummy/db/views/guitars.sql
176
+ - test/dummy/log/development.log
177
+ - test/dummy/log/test.log
178
+ - test/dummy/public/404.html
179
+ - test/dummy/public/422.html
180
+ - test/dummy/public/500.html
181
+ - test/dummy/public/favicon.ico
182
+ - test/dummy/Rakefile
183
+ - test/generators_test.rb
184
+ - test/tasks_test.rb
185
+ - test/test_helper.rb