tuning 4.0.0.1 → 4.0.1.0

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: f615d7bee220d2e737c62f490014355a735d3601
4
- data.tar.gz: 031b70becc717928cf38a9dbb395d9fd8bc78452
3
+ metadata.gz: 0081e87effa4ecfe09631c0c22126443a67f18d3
4
+ data.tar.gz: 3f234d3653f242828c700f97b068cfff2a64bb37
5
5
  SHA512:
6
- metadata.gz: 88604ee11076f360b92f5cadb0aa36119ec014745593518471c2df211bee9736417606a72f6951fe221580e6069b138ffe31e2d01df4a2062ac3918567737ebe
7
- data.tar.gz: f4b4f8a7051d677f7a102ed86e4de51726fa483a23577f9840c687a7ca66dee1caea4b3120578bdd8c103352f56c7bf1097b95ea5a0490a05124094c9a59f319
6
+ metadata.gz: 92b149af8b9fa5e62cb30e293d6db0f7d12c994700f14e2177a3aab378d2f80f612d7c830f65f6d580eab22376b38e02624fb62ec97913914d957fdfb5c2b329
7
+ data.tar.gz: 4317d216eeab34efc94a3704fd29e0ff3f38654e6d4b3b112ed716d4943b49c2dac2f560dcbf51ef5746e61344019dab691cdc0b2d9052baf6595bd22b8d0d67
data/README.md CHANGED
@@ -92,6 +92,15 @@ New extending method to extend layouts:
92
92
  <% end %>
93
93
  ```
94
94
 
95
+ ### Template Handlers
96
+
97
+ Ruby template handlers will automatically call to_json or to_xml:
98
+ ```ruby
99
+ @users.map do |user|
100
+ user.slice :name
101
+ end
102
+ ```
103
+
95
104
  ### Records
96
105
 
97
106
  Empty strings will be nilify in the database to avoid sql errors or complex queries:
@@ -0,0 +1,30 @@
1
+ module Tuning
2
+ module Extensions
3
+ module ActionView
4
+ module Handlers
5
+ extend ActiveSupport::Concern
6
+
7
+ class Ruby
8
+
9
+ def call(template)
10
+ <<-STRING
11
+ output = begin
12
+ #{template.source}
13
+ end
14
+ output#{suffix(template.type.symbol)}
15
+ STRING
16
+ end
17
+
18
+ private
19
+
20
+ def suffix(type)
21
+ if %i(json xml).include?(type)
22
+ ".to_#{type}"
23
+ end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -11,6 +11,9 @@ module Tuning
11
11
  ::ActionView::Base.include(
12
12
  Tuning::Extensions::ActionView::Base
13
13
  )
14
+ ::ActionView::Template::Handlers.include(
15
+ Tuning::Extensions::ActionView::Handlers
16
+ )
14
17
  ::ActiveRecord::Base.include(
15
18
  Tuning::Extensions::ActiveRecord::Base,
16
19
  Tuning::Validations
@@ -20,5 +23,12 @@ module Tuning
20
23
  )
21
24
  end
22
25
 
26
+ initializer 'tuning.template_handler' do
27
+ ActionView::Template.register_template_handler(
28
+ :ruby,
29
+ ActionView::Template::Handlers::Ruby.new
30
+ )
31
+ end
32
+
23
33
  end
24
34
  end
@@ -1,5 +1,5 @@
1
1
  module Tuning
2
2
 
3
- VERSION = '4.0.0.1'
3
+ VERSION = '4.0.1.0'
4
4
 
5
5
  end
data/lib/tuning.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'tuning/extensions/action_controller/base'
2
2
  require 'tuning/extensions/action_mailer/base'
3
3
  require 'tuning/extensions/action_view/base'
4
+ require 'tuning/extensions/action_view/handlers'
4
5
  require 'tuning/extensions/active_record/base'
5
6
  require 'tuning/validations/complexity'
6
7
  require 'tuning/validations/count'
@@ -0,0 +1,7 @@
1
+ class UsersController < ApplicationController
2
+
3
+ def index
4
+ @users = User.all
5
+ end
6
+
7
+ end
@@ -0,0 +1,3 @@
1
+ @users.map do |user|
2
+ user.slice :name
3
+ end
@@ -0,0 +1,3 @@
1
+ @users.map do |user|
2
+ user.slice :name
3
+ end
@@ -1,56 +1,3 @@
1
1
  Rails.application.routes.draw do
2
- # The priority is based upon order of creation: first created -> highest priority.
3
- # See how all your routes lay out with "rake routes".
4
-
5
- # You can have the root of your site routed with "root"
6
- # root 'welcome#index'
7
-
8
- # Example of regular route:
9
- # get 'products/:id' => 'catalog#view'
10
-
11
- # Example of named route that can be invoked with purchase_url(id: product.id)
12
- # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
13
-
14
- # Example resource route (maps HTTP verbs to controller actions automatically):
15
- # resources :products
16
-
17
- # Example resource route with options:
18
- # resources :products do
19
- # member do
20
- # get 'short'
21
- # post 'toggle'
22
- # end
23
- #
24
- # collection do
25
- # get 'sold'
26
- # end
27
- # end
28
-
29
- # Example resource route with sub-resources:
30
- # resources :products do
31
- # resources :comments, :sales
32
- # resource :seller
33
- # end
34
-
35
- # Example resource route with more complex sub-resources:
36
- # resources :products do
37
- # resources :comments
38
- # resources :sales do
39
- # get 'recent', on: :collection
40
- # end
41
- # end
42
-
43
- # Example resource route with concerns:
44
- # concern :toggleable do
45
- # post 'toggle'
46
- # end
47
- # resources :posts, concerns: :toggleable
48
- # resources :photos, concerns: :toggleable
49
-
50
- # Example resource route within a namespace:
51
- # namespace :admin do
52
- # # Directs /admin/products/* to Admin::ProductsController
53
- # # (app/controllers/admin/products_controller.rb)
54
- # resources :products
55
- # end
2
+ get 'users' => 'users#index'
56
3
  end