pinkman 0.9.9.8 → 0.9.9.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +12 -12
- data/app/assets/javascripts/pinkman_base/collection.coffee +48 -20
- data/app/assets/javascripts/pinkman_base/common.coffee +38 -9
- data/app/assets/javascripts/pinkman_base/controller.coffee +134 -36
- data/app/assets/javascripts/pinkman_base/mixins.coffee +8 -4
- data/app/assets/javascripts/pinkman_base/object.coffee.erb +15 -13
- data/app/assets/javascripts/pinkman_base/pinkman.coffee +16 -0
- data/app/assets/javascripts/pinkman_base/render.coffee.erb +17 -5
- data/app/assets/javascripts/pinkman_base/router.coffee +95 -46
- data/app/assets/javascripts/pinkman_base/tools.coffee +3 -3
- data/app/assets/stylesheets/_colors.scss +45 -0
- data/app/assets/stylesheets/_custom_colors.scss +7 -0
- data/app/assets/stylesheets/_mixins.scss +39 -0
- data/app/assets/stylesheets/_settings.scss +1 -0
- data/app/assets/stylesheets/pinkman/buttons.scss +15 -0
- data/app/assets/stylesheets/pinkman/colors.scss +99 -0
- data/app/assets/stylesheets/pinkman/containers.scss +15 -0
- data/app/assets/stylesheets/pinkman/elements.scss +33 -0
- data/app/assets/stylesheets/pinkman/forms.scss +89 -0
- data/app/assets/stylesheets/pinkman/grid.scss +120 -0
- data/app/assets/stylesheets/pinkman/imgs.scss +7 -0
- data/app/assets/stylesheets/pinkman/lists.scss +58 -0
- data/app/assets/stylesheets/pinkman/loaders.scss +495 -0
- data/app/assets/stylesheets/pinkman/margins.scss +65 -0
- data/app/assets/stylesheets/pinkman/portfolio.scss +59 -0
- data/app/assets/stylesheets/pinkman/pygments.css.erb +1 -0
- data/app/assets/stylesheets/pinkman/reset.scss +51 -0
- data/app/assets/stylesheets/pinkman/sector.scss +10 -0
- data/app/assets/stylesheets/pinkman/tables.scss +62 -0
- data/app/assets/stylesheets/pinkman/typo.scss +104 -0
- data/app/assets/stylesheets/pinkman.css +17 -0
- data/app/controllers/pinkman/pinkman_controller.rb +6 -0
- data/app/helpers/pinkman/pinkman_helper.rb +14 -0
- data/app/views/pinkman/_error_for.html.slim +4 -0
- data/app/views/pinkman/pinkman/_form_input.html.slim +4 -0
- data/app/views/pinkman/pinkman/_form_select.html.slim +13 -0
- data/app/views/pinkman/pinkman/_form_textarea.html.slim +4 -0
- data/app/views/pinkman/pinkman/hello.html.erb +53 -0
- data/config/routes.rb +7 -0
- data/lib/generators/pinkman/USAGE +60 -14
- data/lib/generators/pinkman/app_base_generator.rb +16 -4
- data/lib/generators/pinkman/controller_generator.rb +29 -0
- data/lib/generators/pinkman/crud_generator.rb +24 -0
- data/lib/generators/pinkman/initializer_generator.rb +12 -0
- data/lib/generators/pinkman/install_generator.rb +29 -2
- data/lib/generators/pinkman/model_generator.rb +2 -2
- data/lib/generators/pinkman/page_generator.rb +15 -0
- data/lib/generators/pinkman/route_generator.rb +40 -0
- data/lib/generators/pinkman/route_resource_generator.rb +40 -0
- data/lib/generators/pinkman/template_generator.rb +47 -0
- data/lib/generators/pinkman/templates/api.rb.erb +6 -6
- data/lib/generators/pinkman/templates/api_controller.rb +22 -18
- data/lib/generators/pinkman/templates/app.coffee.erb +1 -0
- data/lib/generators/pinkman/templates/app_app.coffee.erb +1 -0
- data/lib/generators/pinkman/templates/app_collection.coffee.erb +1 -1
- data/lib/generators/pinkman/templates/app_object.coffee.erb +1 -1
- data/lib/generators/pinkman/templates/app_router.coffee.erb +1 -0
- data/lib/generators/pinkman/templates/app_routes.coffee.erb +34 -0
- data/lib/generators/pinkman/templates/controller.coffee.erb +4 -0
- data/lib/generators/pinkman/templates/example.mixin.coffee.erb +32 -0
- data/lib/generators/pinkman/templates/hello.controller.coffee.erb +98 -0
- data/lib/generators/pinkman/templates/initializer.rb.erb +6 -0
- data/lib/generators/pinkman/templates/my.pinkman.app.js +70 -0
- data/lib/generators/pinkman/templates/pink_template.html.erb.erb +4 -0
- data/lib/generators/pinkman/templates/pink_template.html.haml.erb +3 -0
- data/lib/generators/pinkman/templates/pink_template.html.slim.erb +3 -0
- data/lib/generators/pinkman/templates/serializer.rb.erb +6 -6
- data/lib/pinkman/base_helper.rb +15 -0
- data/lib/pinkman/form_helper/form_helpers.rb +65 -0
- data/lib/pinkman/form_helper.rb +36 -0
- data/lib/pinkman/serializer/base.rb +0 -1
- data/lib/pinkman/version.rb +1 -1
- data/lib/pinkman/views_helpers/collection_helper.rb +16 -0
- data/lib/pinkman/views_helpers/conditional_helper.rb +19 -0
- data/lib/pinkman/views_helpers/dispatcher.rb +27 -0
- data/lib/pinkman/views_helpers/form_helper.rb +63 -0
- data/lib/pinkman/views_helpers/template_helper.rb +65 -0
- data/lib/pinkman/views_helpers/writer_helper.rb +31 -0
- data/lib/pinkman/views_helpers.rb +71 -0
- data/lib/pinkman.rb +31 -5
- data/public/jquery.pinkman.min.js +4 -0
- data/public/pinkman.min.js +2 -29
- metadata +61 -4
- data/app/helpers/pinkman_helper.rb +0 -87
@@ -0,0 +1,65 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
require_relative '../views_helpers/form_helper.rb'
|
3
|
+
|
4
|
+
module Pinkman
|
5
|
+
module FormHelper
|
6
|
+
module FormHelpers
|
7
|
+
|
8
|
+
extend Pinkman::BaseHelper
|
9
|
+
|
10
|
+
include Pinkman::ViewsHelpers::FormHelper
|
11
|
+
|
12
|
+
define_helper :string do |attr_name,label=nil|
|
13
|
+
label ||= attr_name.titleize
|
14
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name}}
|
15
|
+
end
|
16
|
+
|
17
|
+
define_helper :text do |attr_name,label=nil|
|
18
|
+
label ||= attr_name.titleize
|
19
|
+
render partial: 'pinkman/pinkman/form_textarea', locals: {attr_name: attr_name, label: label, textarea_options: {name: attr_name}}
|
20
|
+
end
|
21
|
+
|
22
|
+
define_helper :date do |attr_name,label=nil|
|
23
|
+
label ||= attr_name.titleize
|
24
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name, type: 'date'}}
|
25
|
+
end
|
26
|
+
|
27
|
+
define_helper :datetime do |attr_name,label=nil|
|
28
|
+
label ||= attr_name.titleize
|
29
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name}, type: 'time'}
|
30
|
+
end
|
31
|
+
|
32
|
+
define_helper :color do |attr_name,label=nil|
|
33
|
+
label ||= attr_name.titleize
|
34
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name}}
|
35
|
+
end
|
36
|
+
|
37
|
+
define_helper :select do |attr_name,label,options_hash,html_options={}|
|
38
|
+
if html_options.has_key?(:placeholder)
|
39
|
+
placeholder = html_options[:placeholder]
|
40
|
+
obligatory = html_options[:obligatory]
|
41
|
+
html_options.delete(:placeholder)
|
42
|
+
end
|
43
|
+
obligatory = true if obligatory.nil?
|
44
|
+
label ||= attr_name.titleize
|
45
|
+
render partial: 'pinkman/pinkman/form_select', locals: {attr_name: attr_name, label: label, options_hash: options_hash, html_options: html_options, placeholder: placeholder, obligatory: obligatory}
|
46
|
+
end
|
47
|
+
|
48
|
+
define_helper :password do |attr_name,label=nil|
|
49
|
+
label ||= attr_name.titleize
|
50
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name, type: 'password'}}
|
51
|
+
end
|
52
|
+
|
53
|
+
define_helper :number do |attr_name,label=nil|
|
54
|
+
label ||= attr_name.titleize
|
55
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name, type: 'number'}}
|
56
|
+
end
|
57
|
+
|
58
|
+
define_helper :money do |attr_name,label=nil|
|
59
|
+
label ||= attr_name.titleize
|
60
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name, type: 'number', min: 0, step: 0.01}}
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require_relative 'base_helper.rb'
|
2
|
+
require_relative 'form_helper/form_helpers.rb'
|
3
|
+
|
4
|
+
module Pinkman
|
5
|
+
module FormHelper
|
6
|
+
class Dispatcher
|
7
|
+
attr_accessor :rails_helper
|
8
|
+
|
9
|
+
def initialize value
|
10
|
+
@rails_helper = value
|
11
|
+
end
|
12
|
+
|
13
|
+
def method_missing m, *args, &block
|
14
|
+
if Pinkman::FormHelper.respond_to?(m)
|
15
|
+
if block_given?
|
16
|
+
rails_helper.instance_exec(*args,block,&Pinkman::FormHelper.send(m))
|
17
|
+
else
|
18
|
+
rails_helper.instance_exec(*args,&Pinkman::FormHelper.send(m))
|
19
|
+
end
|
20
|
+
else
|
21
|
+
super(m)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.dispatcher rails_helper
|
27
|
+
Dispatcher.new(rails_helper)
|
28
|
+
end
|
29
|
+
|
30
|
+
extend Pinkman::FormHelper::FormHelpers
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# --- About:
|
36
|
+
# This file defines the Pinkman form helpers we use in views. See views helper to understand how this works.
|
data/lib/pinkman/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
module CollectionHelper
|
6
|
+
|
7
|
+
extend Pinkman::BaseHelper
|
8
|
+
|
9
|
+
define_helper :each do |block=nil|
|
10
|
+
p.wrap_in('collection',&block)
|
11
|
+
end
|
12
|
+
define_helper_alias :collection, :each
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
module ConditionalHelper
|
6
|
+
|
7
|
+
extend Pinkman::BaseHelper
|
8
|
+
|
9
|
+
define_helper :if do |condition, block=nil|
|
10
|
+
p.wrap_in(condition,&block) if block.is_a?(Proc)
|
11
|
+
end
|
12
|
+
|
13
|
+
define_helper :unless do |condition, block=nil|
|
14
|
+
raw "\n{{^ #{condition} }}\n \t #{capture(&block)} \n{{/ #{condition} }}\n" if block.is_a?(Proc)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Pinkman
|
2
|
+
module ViewsHelpers
|
3
|
+
class Dispatcher
|
4
|
+
attr_accessor :rails_helper
|
5
|
+
|
6
|
+
def initialize value
|
7
|
+
@rails_helper = value
|
8
|
+
end
|
9
|
+
|
10
|
+
def method_missing m, *args, &block
|
11
|
+
if Pinkman::ViewsHelpers.respond_to?(m)
|
12
|
+
if block_given?
|
13
|
+
rails_helper.instance_exec(*args,block,&Pinkman::ViewsHelpers.send(m))
|
14
|
+
else
|
15
|
+
rails_helper.instance_exec(*args,&Pinkman::ViewsHelpers.send(m))
|
16
|
+
end
|
17
|
+
else
|
18
|
+
super(m)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.dispatcher rails_helper
|
24
|
+
Dispatcher.new(rails_helper)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
module FormHelper
|
6
|
+
|
7
|
+
extend Pinkman::BaseHelper
|
8
|
+
|
9
|
+
define_helper :textfield do |attr_name,label=nil|
|
10
|
+
label ||= attr_name.titleize
|
11
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name}}
|
12
|
+
end
|
13
|
+
|
14
|
+
define_helper :datefield do |attr_name,label=nil|
|
15
|
+
label ||= attr_name.titleize
|
16
|
+
render partial: 'pinkman/pinkman/form_input', locals: {attr_name: attr_name, label: label, input_options: {name: attr_name}}
|
17
|
+
end
|
18
|
+
|
19
|
+
define_helper :input do |hash|
|
20
|
+
hash[:type] ||= 'text'
|
21
|
+
tag(:input,hash.merge(data: {pinkey: p.pinkey, action: hash[:name]}, value: p.write(hash[:name])))
|
22
|
+
end
|
23
|
+
|
24
|
+
define_helper :textarea do |hash|
|
25
|
+
content_tag('textarea',hash.merge(data: {pinkey: p.pinkey, action: hash[:name]}, value: p._w(hash[:name]))) do
|
26
|
+
p._w(hash[:name])
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
define_helper :select do |attr_name,options_hash={}, block|
|
31
|
+
content_tag('select',options_hash.merge(name: attr_name, data: {pinkey: p.pinkey, action: attr_name}),&block)
|
32
|
+
end
|
33
|
+
|
34
|
+
define_helper :form do |action_name, hash={}, block|
|
35
|
+
content_tag 'form',hash.merge({action: '', data: {pinkey: p.pinkey, action: action_name}}) do
|
36
|
+
block.call(Pinkman::FormHelper.dispatcher(self))
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
define_helper :submit do |val|
|
41
|
+
tag 'input', {type: 'submit', value: val, class: 'submit-button'}
|
42
|
+
end
|
43
|
+
|
44
|
+
define_helper :error_for do |attr,label=nil|
|
45
|
+
label ||= attr.to_s.titleize
|
46
|
+
render partial: '/pinkman/error_for', locals: {attribute: attr, label: label}
|
47
|
+
end
|
48
|
+
|
49
|
+
define_helper :has_errors? do |block|
|
50
|
+
p.if('errors',block)
|
51
|
+
end
|
52
|
+
|
53
|
+
define_helper :valid? do |block|
|
54
|
+
p.unless('errors',block)
|
55
|
+
end
|
56
|
+
|
57
|
+
define_helper :first_error do
|
58
|
+
p._w('firstError')
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
module TemplateHelper
|
6
|
+
|
7
|
+
extend Pinkman::BaseHelper
|
8
|
+
|
9
|
+
define_helper :template do |path, block=nil|
|
10
|
+
# definition mode
|
11
|
+
if block.is_a?(Proc)
|
12
|
+
name = path.to_s
|
13
|
+
id = (/(?:-template)$/ =~ name) ? name : (name + '-template')
|
14
|
+
content_tag('script',{id: id, type: 'text/p-template'},&block)
|
15
|
+
# rendering mode
|
16
|
+
else
|
17
|
+
render partial: "pinkman/#{path}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
define_helper :layout do |path, block=nil|
|
22
|
+
path = path + '-layout' unless path.match /-layout$/
|
23
|
+
p.template(path,block)
|
24
|
+
end
|
25
|
+
|
26
|
+
define_helper :content_tag do |*args|
|
27
|
+
block = args.pop if args.last.is_a?(Proc)
|
28
|
+
if block
|
29
|
+
content_tag(*args,&block)
|
30
|
+
else
|
31
|
+
content_tag(*args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
define_helper :partial do |path, block=nil|
|
36
|
+
# definition mode
|
37
|
+
name = path.to_s
|
38
|
+
id = (/(?:-template)$/ =~ name) ? name : (name + '-template')
|
39
|
+
if block.is_a?(Proc)
|
40
|
+
content_tag('script',{id: id, type: 'text/p-partial', class: 'p'},&block)
|
41
|
+
# rendering template partial mode
|
42
|
+
else
|
43
|
+
content_tag 'div', {id: name} do
|
44
|
+
raw("{{ partial(#{id}) }}")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
define_helper :load_templates do |dir_path=nil|
|
50
|
+
if Rails
|
51
|
+
pinkman_views_dir_path = Rails.root.join('app','views','pinkman')
|
52
|
+
selected_dir_path = pinkman_views_dir_path
|
53
|
+
selected_dir_path = selected_dir_path.join(dir_path.to_s) if dir_path.class.in?([String,Symbol])
|
54
|
+
files = Dir.glob(selected_dir_path.join('**/_*')).map do |f|
|
55
|
+
f.sub!(Regexp.new("#{pinkman_views_dir_path.to_s}[\\\/]"),'')
|
56
|
+
f.sub(File.basename(f),File.basename(f).sub('_',''))
|
57
|
+
end
|
58
|
+
raw(files.map{|f| p.template(f)}.join("\n"))
|
59
|
+
else
|
60
|
+
raise 'Rails application not found.'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require_relative '../base_helper.rb'
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
module WriterHelper
|
6
|
+
|
7
|
+
extend Pinkman::BaseHelper
|
8
|
+
|
9
|
+
define_helper :write do |string|
|
10
|
+
raw "{{ #{string} }}"
|
11
|
+
end
|
12
|
+
define_helper_alias :w, :write
|
13
|
+
|
14
|
+
define_helper :write_and_escape_sync do |string|
|
15
|
+
raw("{{. #{string} }}")
|
16
|
+
end
|
17
|
+
define_helper_alias :_w, :write_and_escape_sync
|
18
|
+
|
19
|
+
define_helper :wrap_in do |tag,block=nil|
|
20
|
+
raw "\n{{# #{tag} }}\n \t #{capture(&block)} \n{{/ #{tag} }}\n" if block.is_a?(Proc)
|
21
|
+
end
|
22
|
+
define_helper_alias :wrap, :wrap_in
|
23
|
+
|
24
|
+
define_helper :pinkey do
|
25
|
+
p.write('pinkey')
|
26
|
+
end
|
27
|
+
define_helper_alias :key, :pinkey
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
Dir[File.expand_path('../views_helpers/*.rb',__FILE__)].each {|file| require file }
|
2
|
+
|
3
|
+
module Pinkman
|
4
|
+
module ViewsHelpers
|
5
|
+
extend WriterHelper
|
6
|
+
extend ConditionalHelper
|
7
|
+
extend CollectionHelper
|
8
|
+
extend TemplateHelper
|
9
|
+
extend FormHelper
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# --- About:
|
14
|
+
# This file defines the Pinkman helpers we use in views.
|
15
|
+
|
16
|
+
# There is an extra layer of code so
|
17
|
+
# we can namespace all Pinkman helpers with a 'p'.
|
18
|
+
# Just call p.method_name in the application.
|
19
|
+
|
20
|
+
# --- How this work:
|
21
|
+
|
22
|
+
# The Dispatcher's role is binding Rails Helpers and this module.
|
23
|
+
# It allow us to run this module methods within a Rails Helpers context (scope).
|
24
|
+
# In other words, this module acts exactly like a Rails Helper.
|
25
|
+
# Every method acessible there also is acessible here.
|
26
|
+
|
27
|
+
# The dispatcher, as the name suggests, is responsible to be up front in a Rails
|
28
|
+
# Helper and pass this module all the messages received.
|
29
|
+
# module NormalRailsHelper
|
30
|
+
# def p
|
31
|
+
# Pinkman::ViewsHelpers.dispatcher(self)
|
32
|
+
# end
|
33
|
+
# end
|
34
|
+
#
|
35
|
+
# p.some_method => Pinkman::ViewsHelpers.some_method
|
36
|
+
#
|
37
|
+
|
38
|
+
# Another thing to keep in mind is that
|
39
|
+
# to define new methods, use the 'define_helper' method.
|
40
|
+
|
41
|
+
# --- Why not a simple Rails Helper?
|
42
|
+
# I swear I tried. But:
|
43
|
+
|
44
|
+
# 1. Pinkman Helpers should be isolated from Rails and Custom Helpers
|
45
|
+
|
46
|
+
# 2. p_some_method would not acomplished that.
|
47
|
+
|
48
|
+
# 3. If I were to define these as -- instance -- methods of a common Rails Helper,
|
49
|
+
# then those methods wouldn't be isolated.
|
50
|
+
|
51
|
+
# 4. If I were to define these as -- class -- methods of a common Rails Helper (PinkmanHelper.do_something),
|
52
|
+
# then the scope would not allow us to call ActionView::Helpers like capture, raw, etc.
|
53
|
+
|
54
|
+
# 5. If I were to extend/include ActionViews::Helpers directly here,
|
55
|
+
# it would broke. I tried. A lot.
|
56
|
+
|
57
|
+
# 6. This what I got for now.
|
58
|
+
# If you think of another better way to solve this
|
59
|
+
# keeping the p.method_name convention (not p_method_name),
|
60
|
+
# just send a pull request.
|
61
|
+
|
62
|
+
# --- Attention
|
63
|
+
# Blocks will be passed to these helpers in the last argument position
|
64
|
+
# as procs. So...
|
65
|
+
|
66
|
+
# Use:
|
67
|
+
# define_method :method_name do |one, two, block=nil|
|
68
|
+
|
69
|
+
# DONT't use:
|
70
|
+
# define_method :method_name do |one, two, &block|
|
71
|
+
# (this won't work)
|
data/lib/pinkman.rb
CHANGED
@@ -2,6 +2,8 @@ require 'rails'
|
|
2
2
|
require 'pathname'
|
3
3
|
require 'active_model_serializers'
|
4
4
|
require 'pinkman/serializer'
|
5
|
+
require 'pinkman/views_helpers'
|
6
|
+
require 'pinkman/form_helper'
|
5
7
|
require 'pinkman/version'
|
6
8
|
|
7
9
|
module Pinkman
|
@@ -22,6 +24,14 @@ module Pinkman
|
|
22
24
|
|
23
25
|
class Engine < ::Rails::Engine
|
24
26
|
config.after_initialize do
|
27
|
+
Rails.application.routes.append do
|
28
|
+
mount Pinkman::Engine => '/'
|
29
|
+
end
|
30
|
+
|
31
|
+
module ApplicationHelper
|
32
|
+
extend PinkmanHelper
|
33
|
+
end
|
34
|
+
|
25
35
|
if defined? Slim
|
26
36
|
Slim::Engine.set_options attr_list_delims: {'(' => ')', '[' => ']'}
|
27
37
|
end
|
@@ -37,12 +47,17 @@ module Pinkman
|
|
37
47
|
end
|
38
48
|
end
|
39
49
|
|
40
|
-
# Active Record Relation:
|
50
|
+
# Active Record Relation: json
|
41
51
|
ActiveRecord::Relation.class_eval do
|
42
|
-
def
|
52
|
+
def json scope_name, params_hash = {}
|
43
53
|
serialize_for(scope_name,params_hash).to_json
|
44
54
|
end
|
45
55
|
|
56
|
+
def json_for *args, &block
|
57
|
+
ActiveSupport::Deprecation.warn('"json_for" deprecated. Use "json" instead.')
|
58
|
+
json(*args,&block)
|
59
|
+
end
|
60
|
+
|
46
61
|
def serialize_for scope_name, params_hash = {}
|
47
62
|
options = {scope: scope_name}.merge(params: params_hash)
|
48
63
|
s = Pinkman::Serializer::array(self, options)
|
@@ -51,10 +66,15 @@ module Pinkman
|
|
51
66
|
end
|
52
67
|
|
53
68
|
Array.class_eval do
|
54
|
-
def
|
69
|
+
def json scope_name, params_hash = {}
|
55
70
|
serialize_for(scope_name,params_hash).to_json
|
56
71
|
end
|
57
72
|
|
73
|
+
def json_for *args, &block
|
74
|
+
ActiveSupport::Deprecation.warn('"json_for" deprecated. Use "json" instead.')
|
75
|
+
json(*args,&block)
|
76
|
+
end
|
77
|
+
|
58
78
|
def serialize_for scope_name, params_hash = {}
|
59
79
|
options = {scope: scope_name}.merge(params: params_hash)
|
60
80
|
s = Pinkman::Serializer::array(self, options)
|
@@ -62,19 +82,25 @@ module Pinkman
|
|
62
82
|
end
|
63
83
|
end
|
64
84
|
|
65
|
-
# Instance method:
|
85
|
+
# Instance method: json
|
66
86
|
ActiveRecord::Base.class_eval do
|
67
87
|
def serialize_for scope_name, params_hash = {}
|
68
88
|
options = {scope: scope_name}.merge(params: params_hash)
|
69
89
|
self.class.serializer.new(self,options)
|
70
90
|
end
|
71
91
|
|
72
|
-
def
|
92
|
+
def json scope_name, params_hash={}
|
73
93
|
serialize_for(scope_name,params_hash).to_json
|
74
94
|
end
|
95
|
+
|
96
|
+
def json_for *args, &block
|
97
|
+
ActiveSupport::Deprecation.warn('"json_for" deprecated. Use "json" instead.')
|
98
|
+
json(*args,&block)
|
99
|
+
end
|
75
100
|
|
76
101
|
end
|
77
102
|
end
|
103
|
+
|
78
104
|
end
|
79
105
|
|
80
106
|
end
|