crud_menu 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ <div class="crud_menu_container">
2
+ <ul class="crud_menu">
3
+ <% if action_called != 'edit' && action_called != 'new' %>
4
+ <li><%= new_crud_link %></li>
5
+ <% end %>
6
+ <% if action_called == 'show' %>
7
+ <li><%= edit_crud_link %></li>
8
+ <li><%= delete_crud_link %></li>
9
+ <li><%= close_crud_link %></li>
10
+ <% end %>
11
+ <% if action_called == 'edit' || action_called == 'new' %>
12
+ <li><%= cancel_crud_link %></li>
13
+ <% end %>
14
+ </ul>
15
+ </div>
data/crud_menu.gemspec CHANGED
@@ -15,5 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = CrudMenu::VERSION
17
17
 
18
+ gem.add_dependency "rails", ">= 3.2.12"
18
19
  gem.add_dependency "arbre", ">= 1.0.1"
20
+ gem.add_dependency "haml"
19
21
  end
data/lib/crud_menu.rb CHANGED
@@ -1,6 +1,16 @@
1
1
  require "crud_menu/version"
2
2
  require 'crud_menu/railtie' if defined?(Rails)
3
+ require "active_support/dependencies"
3
4
 
4
5
  module CrudMenu
5
- # Your code goes here...
6
+ # Our host application root path
7
+ # We set this when the engine is initialized
8
+ mattr_accessor :app_root
9
+
10
+ # Yield self on setup for nice config blocks
11
+ def self.setup
12
+ yield self
13
+ end
6
14
  end
15
+
16
+ require 'crud_menu/engine'
@@ -0,0 +1,15 @@
1
+ module CrudMenu
2
+ class Engine < Rails::Engine
3
+
4
+ # initialize "crud_menu.load_app_instance_data" do |app|
5
+ # CrudMenu.setup do |config|
6
+ # config.app_root = app.root
7
+ # end
8
+ # end
9
+
10
+ # initialize "crud_menu.load_static_assets" do |app|
11
+ # app.middleware.use ::ActionDispatch::Static, "#{root}/public"
12
+ # end
13
+
14
+ end
15
+ end
@@ -0,0 +1,8 @@
1
+ require 'crud_menu/view_helpers'
2
+ module CrudMenu
3
+ class Railtie < Rails::Railtie
4
+ initializer "crud_menu.view_helpers" do
5
+ ActionView::Base.send :include, ViewHelpers
6
+ end
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module CrudMenu
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,37 @@
1
+ module CrudMenu
2
+ module ViewHelpers
3
+ def crud_menu(options={}, &block)
4
+ @link_hash = options[:link_hash] || build_link_hash
5
+ @controller = options[:controller] || controller_called
6
+ render partial: 'crud_menu/crud_menu'
7
+ end
8
+
9
+ def action_called
10
+ params[:action]
11
+ end
12
+
13
+ def controller_called
14
+ params[:controller]
15
+ end
16
+
17
+ def build_link_hash
18
+ {controller: controller_called}
19
+ end
20
+
21
+ def new_crud_link
22
+ link_to "New #{@controller.singularize.humanize}", @link_hash.merge({action: 'new'})
23
+ end
24
+ def edit_crud_link
25
+ link_to "Edit #{@controller.singularize.humanize}", @link_hash.merge({action: 'edit', id: params[:id]})
26
+ end
27
+ def delete_crud_link
28
+ link_to "Delete #{@controller.singularize.humanize}", @link_hash.merge({id: params[:id]}), method: :delete
29
+ end
30
+ def cancel_crud_link
31
+ link_to "Cancel", @link_hash.merge({action: 'show', id: params[:id]})
32
+ end
33
+ def close_crud_link
34
+ link_to "Close", @link_hash.merge({action: 'index'})
35
+ end
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crud_menu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-14 00:00:00.000000000 Z
12
+ date: 2013-03-15 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.12
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.12
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: arbre
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -27,6 +43,22 @@ dependencies:
27
43
  - - ! '>='
28
44
  - !ruby/object:Gem::Version
29
45
  version: 1.0.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: haml
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
30
62
  description: Quickly generate a CRUD menu description
31
63
  email:
32
64
  - jg@the42.com
@@ -39,9 +71,13 @@ files:
39
71
  - LICENSE
40
72
  - README.md
41
73
  - Rakefile
74
+ - app/views/crud_menu/_crud_menu.html.erb
42
75
  - crud_menu.gemspec
43
76
  - lib/crud_menu.rb
77
+ - lib/crud_menu/engine.rb
78
+ - lib/crud_menu/railtie.rb
44
79
  - lib/crud_menu/version.rb
80
+ - lib/crud_menu/view_helpers.rb
45
81
  homepage: http://www.the42.com
46
82
  licenses: []
47
83
  post_install_message: