poodle-rb 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e483ec280a8d6380a1728de37a53751f5df16122
4
- data.tar.gz: 90ff30c2798b69db5ea5bd83b6bf0b7ec3104ef7
3
+ metadata.gz: 5076200e66c69d100fcaf53e119af7d0b531e6cd
4
+ data.tar.gz: 0ee7019551074bf4972a333f1f46c8c9ee2e672e
5
5
  SHA512:
6
- metadata.gz: 55f8d8d42905bece329e5e23045c6f0b84a30f334b8c3c6b2b327835beb76ee355869bb056f8a4184003bb69cdd3b9be34a84f3414c67dea6c1d9d5e30db1524
7
- data.tar.gz: 988e9100ea026720e0211d4798d49b5752afcb33d25d2d2c3a618867e0e889a66ec0efa89575b4775e19f0c9f1b4551624cf17f0aad944ba3a597ff69b89a34b
6
+ metadata.gz: 438afb0dc03f4378a77864071211fdafe90fb0c17b33ed6b8c215bc56e75127d49d1698316dfd7c84faf2f2d4a241d371c6fd7e024a155ff41127d8421e30520
7
+ data.tar.gz: 9b61aee8ec7716104bda0d2d7f743270e5c21eb01e7c38e260d95d124122c6eb737ceafb8f355239b474ad5321f8d029ac68257ebf1fd8ef4b3f0d1696ed713c
@@ -1,146 +1,150 @@
1
- class Poodle::AdminController < PoodleController
1
+ module Poodle
2
+ class AdminController < ApplicationController
2
3
 
3
- layout 'poodle/application'
4
+ helper Poodle::ApplicationHelper
4
5
 
5
- before_filter :require_admin, :set_navs, :parse_pagination_params
6
- before_filter :configure
6
+ layout 'poodle/application'
7
7
 
8
- def index
9
- get_collections
10
- end
8
+ before_filter :require_admin, :set_navs, :parse_pagination_params
9
+ before_filter :configure
11
10
 
12
- def show
13
- obj = @options[:class].find(params[:id])
14
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
15
- render_list
16
- end
11
+ def index
12
+ get_collections
13
+ end
17
14
 
18
- def new
19
- obj = @options[:class].new
20
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
21
- render_list
22
- end
15
+ def show
16
+ obj = @options[:class].find(params[:id])
17
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
18
+ render_list
19
+ end
23
20
 
24
- def edit
25
- obj = @options[:class].find(params[:id])
26
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
27
- render_list
28
- end
21
+ def new
22
+ obj = @options[:class].new
23
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
24
+ render_list
25
+ end
29
26
 
30
- def create
31
- obj = @options[:class].new
32
- obj.assign_attributes(permitted_params)
33
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
34
- save_resource(obj)
35
- end
27
+ def edit
28
+ obj = @options[:class].find(params[:id])
29
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
30
+ render_list
31
+ end
36
32
 
37
- def update
38
- obj = @options[:class].find(params[:id])
39
- obj.assign_attributes(permitted_params)
40
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
41
- save_resource(obj)
42
- end
33
+ def create
34
+ obj = @options[:class].new
35
+ obj.assign_attributes(permitted_params)
36
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
37
+ save_resource(obj)
38
+ end
43
39
 
44
- def destroy
45
- obj = @options[:class].find(params[:id])
46
- obj.destroy
47
- get_collections
48
- set_flash_message(@options[:messages][:delete], :success)
49
- respond_to do |format|
50
- format.js { render :index }
40
+ def update
41
+ obj = @options[:class].find(params[:id])
42
+ obj.assign_attributes(permitted_params)
43
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", obj)
44
+ save_resource(obj)
51
45
  end
52
- end
53
46
 
54
- private
47
+ def destroy
48
+ obj = @options[:class].find(params[:id])
49
+ obj.destroy
50
+ get_collections
51
+ set_flash_message(@options[:messages][:delete], :success)
52
+ respond_to do |format|
53
+ format.js { render :index }
54
+ end
55
+ end
55
56
 
56
- def set_navs
57
- set_nav(params[:controller])
58
- end
57
+ private
59
58
 
60
- def permitted_params
61
- raise "method 'permitted_params' not defined"
62
- end
59
+ def set_navs
60
+ set_nav(params[:controller])
61
+ end
63
62
 
64
- def default_collection_name
65
- params[:controller].gsub("admin/", "").to_s
66
- end
63
+ def permitted_params
64
+ raise "method 'permitted_params' not defined"
65
+ end
67
66
 
68
- def default_item_name
69
- default_collection_name.singularize.gsub("_", " ").titleize
70
- end
67
+ def default_collection_name
68
+ params[:controller].gsub("admin/", "").to_s
69
+ end
71
70
 
72
- def default_class
73
- default_collection_name.singularize.camelize.constantize
74
- end
71
+ def default_item_name
72
+ default_collection_name.singularize.gsub("_", " ").titleize
73
+ end
75
74
 
76
- def default_configuration
77
- {
78
- collection_name: default_collection_name,
79
- item_name: default_item_name,
80
- class: default_class,
81
- messages: {
82
- add: I18n.translate("forms.add", item: default_item_name),
83
- create: I18n.translate("forms.create", item: default_item_name),
84
- update: I18n.translate("forms.update", item: default_item_name),
85
- save: I18n.translate("forms.save", item: default_item_name),
86
- remove: I18n.translate("forms.remove", item: default_item_name),
87
- delete: I18n.translate("forms.delete",item: default_item_name)
75
+ def default_class
76
+ default_collection_name.singularize.camelize.constantize
77
+ end
78
+
79
+ def default_configuration
80
+ {
81
+ collection_name: default_collection_name,
82
+ item_name: default_item_name,
83
+ class: default_class,
84
+ messages: {
85
+ add: I18n.translate("forms.add", item: default_item_name),
86
+ create: I18n.translate("forms.create", item: default_item_name),
87
+ update: I18n.translate("forms.update", item: default_item_name),
88
+ save: I18n.translate("forms.save", item: default_item_name),
89
+ remove: I18n.translate("forms.remove", item: default_item_name),
90
+ delete: I18n.translate("forms.delete",item: default_item_name)
91
+ }
88
92
  }
89
- }
90
- end
93
+ end
91
94
 
92
- def configure
93
- if defined?(@options)
94
- @options.reverse_merge!(default_configuration)
95
- else
96
- @options = default_configuration
95
+ def configure
96
+ if defined?(@options)
97
+ @options.reverse_merge!(default_configuration)
98
+ else
99
+ @options = default_configuration
100
+ end
97
101
  end
98
- end
99
102
 
100
- def prepare_query
101
- @relation = @options[:class].where("")
102
- if params[:query]
103
- @query = params[:query].strip
104
- @relation = @relation.search(@query) if !@query.blank?
103
+ def prepare_query
104
+ @relation = @options[:class].where("")
105
+ if params[:query]
106
+ @query = params[:query].strip
107
+ @relation = @relation.search(@query) if !@query.blank?
108
+ end
105
109
  end
106
- end
107
110
 
108
- def get_collections
109
- prepare_query
110
- objects = @relation.order("created_at desc").page(@current_page).per(@per_page)
111
- instance_variable_set("@#{@options[:collection_name]}", objects)
112
- unless instance_variable_get("@#{@options[:collection_name].to_s.singularize}")
113
- instance_variable_set("@#{@options[:collection_name].to_s.singularize}", objects.first)
111
+ def get_collections
112
+ prepare_query
113
+ objects = @relation.order("created_at desc").page(@current_page).per(@per_page)
114
+ instance_variable_set("@#{@options[:collection_name]}", objects)
115
+ unless instance_variable_get("@#{@options[:collection_name].to_s.singularize}")
116
+ instance_variable_set("@#{@options[:collection_name].to_s.singularize}", objects.first)
117
+ end
118
+ return true
114
119
  end
115
- return true
116
- end
117
120
 
118
- def save_resource(obj)
119
- obj.save
120
- set_flash_message(@options[:messages][:save], :success) if obj.errors.blank?
121
- action_name = params[:action].to_s == "create" ? "new" : "edit"
122
- url = obj.persisted? ? url_for([:admin, obj]) : nil
123
- render_or_redirect(obj.errors.any?, url, action_name)
124
- end
121
+ def save_resource(obj)
122
+ obj.save
123
+ set_flash_message(@options[:messages][:save], :success) if obj.errors.blank?
124
+ action_name = params[:action].to_s == "create" ? "new" : "edit"
125
+ url = obj.persisted? ? url_for([:admin, obj]) : nil
126
+ render_or_redirect(obj.errors.any?, url, action_name)
127
+ end
125
128
 
126
- def render_or_redirect(error, redirect_url, action)
127
- respond_to do |format|
128
- format.html {
129
- if error
130
- render action: action
131
- else
132
- redirect_to redirect_url, notice: @options[:message]
133
- end
134
- }
135
- format.js {}
129
+ def render_or_redirect(error, redirect_url, action)
130
+ respond_to do |format|
131
+ format.html {
132
+ if error
133
+ render action: action
134
+ else
135
+ redirect_to redirect_url, notice: @options[:message]
136
+ end
137
+ }
138
+ format.js {}
139
+ end
136
140
  end
137
- end
138
141
 
139
- def render_list
140
- respond_to do |format|
141
- format.html { get_collections and render :index }
142
- format.js {}
142
+ def render_list
143
+ respond_to do |format|
144
+ format.html { get_collections and render :index }
145
+ format.js {}
146
+ end
143
147
  end
144
- end
145
148
 
149
+ end
146
150
  end
@@ -1,4 +1,29 @@
1
1
  module Poodle
2
2
  module ApplicationHelper
3
+
4
+ def url_for(options = nil)
5
+ main_app.url_for(options)
6
+ end
7
+
8
+ # Can search for named routes directly in the main app, omitting
9
+ # the "main_app." prefix
10
+ def method_missing(method, *args, &block)
11
+ if main_app_url_helper?(method)
12
+ main_app.send(method, *args)
13
+ else
14
+ super
15
+ end
16
+ end
17
+
18
+ def respond_to?(method)
19
+ main_app_url_helper?(method) or super
20
+ end
21
+
22
+ private
23
+
24
+ def main_app_url_helper?(method)
25
+ (method.to_s.end_with?('_path') or method.to_s.end_with?('_url')) and
26
+ main_app.respond_to?(method)
27
+ end
3
28
  end
4
29
  end
@@ -0,0 +1,11 @@
1
+ <%# Link to the "First" page
2
+ - available local variables
3
+ url: url to the first page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="first">
10
+ <%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote %>
11
+ </li>
@@ -0,0 +1,8 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <li class="page gap"><a href="#"><%= raw(t 'views.pagination.truncate') %></a></li>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Last" page
2
+ - available local variables
3
+ url: url to the last page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="last">
10
+ <%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote} %>
11
+ </li>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Next" page
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="next">
10
+ <%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote %>
11
+ </li>
@@ -0,0 +1,12 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: a page object for "this" page
4
+ url: url to this page
5
+ current_page: a page object for the currently displayed page
6
+ total_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <li class="page<%= ' active' if page.current? %>">
11
+ <%= link_to page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %>
12
+ </li>
@@ -0,0 +1,24 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ -%>
9
+ <% binding.pry %>
10
+ <%= paginator.render do -%>
11
+ <ul class="pagination">
12
+ <%= first_page_tag(main_app) unless current_page.first? %>
13
+ <%= prev_page_tag(main_app) unless current_page.first? %>
14
+ <% each_page do |page| -%>
15
+ <% if page.left_outer? || page.right_outer? || page.inside_window? -%>
16
+ <%= page_tag(main_app) page %>
17
+ <% elsif !page.was_truncated? -%>
18
+ <%= gap_tag(main_app) %>
19
+ <% end -%>
20
+ <% end -%>
21
+ <%= next_page_tag(main_app) unless current_page.last? %>
22
+ <%= last_page_tag(main_app) unless current_page.last? %>
23
+ </ul>
24
+ <% end -%>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Previous" page
2
+ - available local variables
3
+ url: url to the previous page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="prev">
10
+ <%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote %>
11
+ </li>
@@ -0,0 +1,14 @@
1
+ en:
2
+ forms:
3
+ add: "%{item} has been added successfully."
4
+ create: "%{item} has been created successfully."
5
+ save: "%{item} has been saved successfully."
6
+ update: "%{item} has been updated successfully."
7
+ delete: "%{item} has been deleted successfully."
8
+ remove: "%{item} has been removed successfully."
9
+ error: "Failed to create %{item}."
10
+ no_results: "No results found."
11
+ status:
12
+ internal_server_error: "500 Something went wrong."
13
+ forbidden: "403 Permission Denied! You don't have permission to perform this action."
14
+ not_found: "404 Not Found: We don't have what you are looking for."
data/lib/poodle/engine.rb CHANGED
@@ -3,11 +3,13 @@ module Poodle
3
3
  isolate_namespace Poodle
4
4
 
5
5
  initializer "poodle.configure_rails_initialization" do |app|
6
+
6
7
  ActiveSupport.on_load :action_view do
7
8
  include Poodle::ActionView::FormHelper
8
9
  include Poodle::ActionView::ModalHelper
9
10
  include Poodle::ActionView::ThemeHelper
10
11
  end
12
+
11
13
  ActiveSupport.on_load :action_controller do
12
14
  include Poodle::DisplayHelper
13
15
  include Poodle::FlashHelper
@@ -1,3 +1,3 @@
1
1
  module Poodle
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poodle-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krishnaprasad Varma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: kaminari
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.1'
19
+ version: 0.16.2
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.1.5
22
+ version: 0.16.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.1'
29
+ version: 0.16.2
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.1.5
32
+ version: 0.16.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: handy-css-rails
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -50,6 +50,46 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.0.7
53
+ - !ruby/object:Gem::Dependency
54
+ name: bootstrap-kaminari-views
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 0.0.5
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.0.3
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 0.0.5
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.0.3
73
+ - !ruby/object:Gem::Dependency
74
+ name: bootstrap-datepicker-rails
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 1.3.1.1
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 1.3.0.2
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.3.1.1
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 1.3.0.2
53
93
  - !ruby/object:Gem::Dependency
54
94
  name: jquery-validation-rails
55
95
  requirement: !ruby/object:Gem::Requirement
@@ -70,6 +110,26 @@ dependencies:
70
110
  - - ">="
71
111
  - !ruby/object:Gem::Version
72
112
  version: 1.12.0
113
+ - !ruby/object:Gem::Dependency
114
+ name: rails
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '4.1'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 4.1.5
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '4.1'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 4.1.5
73
133
  description: Poodle is a started kit for creating Rails Application. Poodle comes
74
134
  with built in UI (layout, css/JS) and some helpers which boost the creation of any
75
135
  prototype application
@@ -99,7 +159,6 @@ files:
99
159
  - app/assets/stylesheets/poodle/font-awesome.css
100
160
  - app/assets/stylesheets/poodle/poodle-theme.css
101
161
  - app/controllers/poodle/admin_controller.rb
102
- - app/controllers/poodle_controller.rb
103
162
  - app/helpers/poodle/application_helper.rb
104
163
  - app/helpers/poodle/display_helper.rb
105
164
  - app/helpers/poodle/flash_helper.rb
@@ -109,6 +168,13 @@ files:
109
168
  - app/helpers/poodle/params_parser_helper.rb
110
169
  - app/helpers/poodle/title_helper.rb
111
170
  - app/helpers/poodle/url_helper.rb
171
+ - app/views/kaminari/_first_page.html.erb
172
+ - app/views/kaminari/_gap.html.erb
173
+ - app/views/kaminari/_last_page.html.erb
174
+ - app/views/kaminari/_next_page.html.erb
175
+ - app/views/kaminari/_page.html.erb
176
+ - app/views/kaminari/_paginator.html.erb
177
+ - app/views/kaminari/_prev_page.html.erb
112
178
  - app/views/layouts/poodle/application.html.erb
113
179
  - app/views/layouts/poodle/application/_footer.html.erb
114
180
  - app/views/layouts/poodle/application/_header.html.erb
@@ -117,6 +183,7 @@ files:
117
183
  - app/views/layouts/poodle/public.html.erb
118
184
  - app/views/widgets/_more_details.html.erb
119
185
  - app/views/widgets/_more_details_table.html.erb
186
+ - config/locales/poodle.yml
120
187
  - config/routes.rb
121
188
  - lib/poodle-rb.rb
122
189
  - lib/poodle/action_view/form_helper.rb
@@ -1,2 +0,0 @@
1
- class PoodleController < ApplicationController
2
- end