poodle-rb 0.0.8 → 0.0.9

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