model_info 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 (34) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +34 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/model_info/application.js +15 -0
  6. data/app/assets/javascripts/model_info/associations.js +2 -0
  7. data/app/assets/javascripts/model_info/fetch_model_infos.js +2 -0
  8. data/app/assets/stylesheets/model_info/application.css +15 -0
  9. data/app/assets/stylesheets/model_info/associations.css +4 -0
  10. data/app/assets/stylesheets/model_info/bootstrap.css +6566 -0
  11. data/app/assets/stylesheets/model_info/bootstrap.min.css +5 -0
  12. data/app/assets/stylesheets/model_info/fetch_model_infos.css +4 -0
  13. data/app/controllers/model_info/application_controller.rb +23 -0
  14. data/app/controllers/model_info/associations_controller.rb +49 -0
  15. data/app/controllers/model_info/models_controller.rb +54 -0
  16. data/app/helpers/model_info/application_helper.rb +4 -0
  17. data/app/helpers/model_info/associations_helper.rb +4 -0
  18. data/app/views/layouts/model_info/_header.html.erb +7 -0
  19. data/app/views/layouts/model_info/_models_header.html.erb +5 -0
  20. data/app/views/layouts/model_info/application.html.erb +15 -0
  21. data/app/views/model_info/associations/edit.html.erb +14 -0
  22. data/app/views/model_info/associations/index.html.erb +50 -0
  23. data/app/views/model_info/associations/new.html.erb +24 -0
  24. data/app/views/model_info/associations/show.html.erb +19 -0
  25. data/app/views/model_info/models/display.html.erb +49 -0
  26. data/app/views/model_info/models/edit.html.erb +14 -0
  27. data/app/views/model_info/models/new.html.erb +21 -0
  28. data/app/views/model_info/models/show.html.erb +19 -0
  29. data/config/routes.rb +19 -0
  30. data/lib/model_info/engine.rb +5 -0
  31. data/lib/model_info/version.rb +3 -0
  32. data/lib/model_info.rb +3 -0
  33. data/lib/tasks/model_info_tasks.rake +4 -0
  34. metadata +118 -0
@@ -0,0 +1,49 @@
1
+ <h3><%= @model_class.humanize %></h3>
2
+ <table class="table table-hover">
3
+ <tr>
4
+ <% @model_class.constantize.column_names.each do |k| %>
5
+ <th><%= k %></th>
6
+ <% end %>
7
+ <th>Actions</th>
8
+ <th>Association Relationship</th>
9
+ </tr>
10
+ <% @model_pagination.each do |model_data| %>
11
+ <tr>
12
+ <% @model_class.constantize.column_names.each do |model_column_name| %>
13
+ <td>
14
+ <%= model_data.send(model_column_name.to_sym).class=='String' ? model_data.send(model_column_name.to_sym).truncate(14) : model_data.send(model_column_name.to_sym).to_s.truncate(14)%>
15
+ </td>
16
+ <% end %>
17
+ <td>
18
+ <%= link_to 'view', model_show_path(model_class: @model_class, model_object_id: model_data.id, page: @page), class: 'btn btn-info' %>
19
+ <%= link_to 'edit', model_edit_path(model_class: @model_class, model_object_id: model_data.id), class: 'btn btn-warning' %>
20
+ <%= link_to 'delete', model_destroy_path(model_class: @model_class, model_object_id: model_data.id), method: :delete, data: {confirm: "Are you sure?"}, class: 'btn btn-danger' %>
21
+ </td>
22
+ <td>
23
+ <% relationship_hash ={}, a1=[], a2=[]%>
24
+ <% @model_class.constantize.reflect_on_all_associations.each do |reflection|%>
25
+ <% reflection.options[:polymorphic] ? a1.push(reflection.active_record.name) : a2.push(reflection.klass.name) %>
26
+ <% end %>
27
+ <% relationship_hash = @model_class.constantize.reflect_on_all_associations.map{|x| [x.name, x.macro]}.zip(a1+a2).to_h %>
28
+
29
+ <% if relationship_hash.empty? %>
30
+ <%= 'Sorry no relationship!'%>
31
+ <% else %>
32
+ <% relationship_hash.each do |k,v| %>
33
+ <%= link_to "#{k.last} #{k.first} |" , associations_index_path(associated_model: k.first, model_object_id: model_data.id, model_class: @model_class, associated_model_class: v, macro: k.last) %>
34
+ <% end %>
35
+ <% end %>
36
+ </td>
37
+ </tr>
38
+ <% end %>
39
+ </table>
40
+ <div align="right">
41
+ <b><%= link_to 'Add new Record', model_new_path(:model_class => @model_class), class: 'btn btn-success' %></b>
42
+ </div>
43
+ <nav>
44
+ <ul class="pagination">
45
+ <li><%= paginate @model_pagination %></li>
46
+ <%= page_entries_info @model_pagination %>
47
+ </ul>
48
+ </nav>
49
+
@@ -0,0 +1,14 @@
1
+ <h3>Update Your Model's Data</h3>
2
+ <div class="jumbotron">
3
+ <%= form_for @model_data, url: model_update_path(model_class: @model_class), method: :patch do |f| %>
4
+ <% (@model_class.column_names - %w(serialized_options created_at updated_at)).each do |resource_field| %>
5
+ <div class="form-group">
6
+ <%= f.label resource_field %>
7
+ <div class="form-group">
8
+ <%= f.text_field resource_field %>
9
+ </div>
10
+ </div>
11
+ <% end %>
12
+ <%= f.submit 'Save Changes', class:"btn btn-primary" %>
13
+ <% end %>
14
+ </div>
@@ -0,0 +1,21 @@
1
+ <h3>Add New Record</h3>
2
+ <div class="jumbotron">
3
+ <%= form_for @model_data, url: model_create_path, method: :post do |f| %>
4
+ <% (@model_data.class.column_names - %w(id serialized_options created_at updated_at)).each do |data_field| %>
5
+ <div class="form-group">
6
+ <%= f.label data_field %>
7
+ <%= hidden_field_tag :model_class, @model_class %>
8
+ <div class="form-group">
9
+ <%= f.text_field data_field %>
10
+ </div>
11
+ </div>
12
+ <% end %>
13
+ <%= f.submit 'Save Changes', class:"btn btn-primary" %>
14
+ <% end %>
15
+ </div>
16
+
17
+
18
+
19
+
20
+
21
+
@@ -0,0 +1,19 @@
1
+ <h3>View Your Data</h3>
2
+ <table class="table table-hover table-bordered">
3
+ <tr>
4
+ <th>Attribute</th>
5
+ <th>Value</th>
6
+ </tr>
7
+ <% @model_class.column_names.each do |model_column_name| %>
8
+ <tr>
9
+ <th><%= model_column_name %></th>
10
+ <td><%= @model_data.send(model_column_name) %></td>
11
+ </tr>
12
+ <% end %>
13
+ <tr>
14
+ <th>Actions</th>
15
+ <td>
16
+ <%= link_to 'Back', :back %>
17
+ </td>
18
+ </tr>
19
+ </table>
data/config/routes.rb ADDED
@@ -0,0 +1,19 @@
1
+ ModelInfo::Engine.routes.draw do
2
+
3
+ get 'model_display', to: 'models#display'
4
+ get 'models',to: 'models#index'
5
+ get 'model_new',to: 'models#new'
6
+ post 'model_create',to: 'models#create'
7
+ get 'model_show',to: 'models#show'
8
+ get 'model_edit',to: 'models#edit'
9
+ patch 'model_update',to: 'models#update'
10
+ delete 'model_destroy', to: 'models#destroy'
11
+
12
+ get 'associations_index', to: 'associations#index'
13
+ get 'association_new',to: 'associations#new'
14
+ post 'association_create',to: 'associations#create'
15
+ get 'association_show',to: 'associations#show'
16
+ get 'association_edit',to: 'associations#edit'
17
+ patch 'association_update',to: 'associations#update'
18
+ delete 'association_destroy',to: 'associations#destroy'
19
+ end
@@ -0,0 +1,5 @@
1
+ module ModelInfo
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace ModelInfo
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module ModelInfo
2
+ VERSION = "0.0.1"
3
+ end
data/lib/model_info.rb ADDED
@@ -0,0 +1,3 @@
1
+ require "model_info/engine"
2
+ module ModelInfo
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :model_info do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: model_info
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - nitanshu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bootstrap
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: kaminari
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.16.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.16.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Description of ModelInfo.
56
+ email:
57
+ - nitanshu1991@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - MIT-LICENSE
63
+ - README.rdoc
64
+ - Rakefile
65
+ - app/assets/javascripts/model_info/application.js
66
+ - app/assets/javascripts/model_info/associations.js
67
+ - app/assets/javascripts/model_info/fetch_model_infos.js
68
+ - app/assets/stylesheets/model_info/application.css
69
+ - app/assets/stylesheets/model_info/associations.css
70
+ - app/assets/stylesheets/model_info/bootstrap.css
71
+ - app/assets/stylesheets/model_info/bootstrap.min.css
72
+ - app/assets/stylesheets/model_info/fetch_model_infos.css
73
+ - app/controllers/model_info/application_controller.rb
74
+ - app/controllers/model_info/associations_controller.rb
75
+ - app/controllers/model_info/models_controller.rb
76
+ - app/helpers/model_info/application_helper.rb
77
+ - app/helpers/model_info/associations_helper.rb
78
+ - app/views/layouts/model_info/_header.html.erb
79
+ - app/views/layouts/model_info/_models_header.html.erb
80
+ - app/views/layouts/model_info/application.html.erb
81
+ - app/views/model_info/associations/edit.html.erb
82
+ - app/views/model_info/associations/index.html.erb
83
+ - app/views/model_info/associations/new.html.erb
84
+ - app/views/model_info/associations/show.html.erb
85
+ - app/views/model_info/models/display.html.erb
86
+ - app/views/model_info/models/edit.html.erb
87
+ - app/views/model_info/models/new.html.erb
88
+ - app/views/model_info/models/show.html.erb
89
+ - config/routes.rb
90
+ - lib/model_info.rb
91
+ - lib/model_info/engine.rb
92
+ - lib/model_info/version.rb
93
+ - lib/tasks/model_info_tasks.rake
94
+ homepage:
95
+ licenses:
96
+ - MIT
97
+ metadata: {}
98
+ post_install_message:
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 2.4.6
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: Summary of ModelInfo.
118
+ test_files: []