paramount 0.1.0 → 0.1.1

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: 5315203186b619e31b41708108e12884229dccf4
4
- data.tar.gz: 79b90c02029f4c0ab95fc8517ef6b72ce7db9c97
3
+ metadata.gz: f4fe81c25a940b4839127cd8f3eac59404fd6959
4
+ data.tar.gz: aaee9e97b293c862f9cca7caeae0f563f86da250
5
5
  SHA512:
6
- metadata.gz: 637bec0c78a7714428b8a19d9a081e1adcaca0ba7abebcb0b1e40e01383d776559ab484774bbe239e553aa4b0f4491583f10ea4d946fc113f27b156588047b7f
7
- data.tar.gz: f23ec2493d22faf85f9e3e0fbb24f276be43816bdca8e5ec98dad62e543f1c3cf7daeca1aef9780d8ab913d804921c40689e78e414e9828aebce4e877e5df95e
6
+ metadata.gz: ca90164d9c543cb75796dd73e598d2fcadbd9337522002df6cad81326c56bb4e1342e3c783a0ec29ea0e76ab557208159e817204088db63c97b22985072ba86f
7
+ data.tar.gz: a8dad0f7d5a6a4c45ab067354bd6897e39ed4e338da000ca6368f440077f358f484fdf018c6b0895312a46eab785320112bc9f99cd4c37b20ab8bb311785a4e4
@@ -4,4 +4,20 @@ class ParamountGenerator < Rails::Generators::NamedBase
4
4
  def create_model_file
5
5
  template "form.rb", File.join('app/forms', class_path, "#{file_name}_form.rb")
6
6
  end
7
+
8
+ def create_controller
9
+ # template "controller.rb", File.join('app/controllers', class_path, "#{file_name.pluralize}_controller.rb")
10
+ end
11
+
12
+ def create_view
13
+ template "view.rb", File.join('app/views', class_path, "#{file_name.pluralize}", "_form.html.haml")
14
+ end
15
+
16
+ def class_mate
17
+ classy = begin
18
+ Object.const_get(class_name) ||
19
+ Object.const_get( file_name.classify)
20
+ rescue
21
+ end
22
+ end
7
23
  end
@@ -0,0 +1,20 @@
1
+ class <%= class_name.pluralize %>Controller < ApplicationController
2
+ include Paramount::Controller
3
+
4
+ private
5
+ def collection
6
+ @<%= file_name.pluralize %> ||= get_search.result.page(params[:page])
7
+ end
8
+
9
+ def resource
10
+ @<%= file_name %> ||= <%= class_mate %>.find(params[:id])
11
+ end
12
+
13
+ def get_search
14
+ @<%= file_name %>_search ||= <%= class_mate %>Search.new(params[:<%= file_name %>_search])
15
+ end
16
+
17
+ def resource_params
18
+ params.require(<%= file_name %>).permit!
19
+ end
20
+ end
@@ -1,11 +1,14 @@
1
+
1
2
  class <%= class_name %>Form < Paramount::Model
2
3
 
3
4
  def self.model_name
4
5
  ActiveModel::Name.new(self, nil, "<%= class_name %>")
5
6
  end
6
7
 
7
- <% class_name.constantize.new.attributes.except(:id, :created_at, :updated_at).each do |attr, val| %>
8
+ <% if class_mate %>
9
+ <% class_mate.new.attributes.except(:id, :created_at, :updated_at).each do |attr,val| %>
8
10
  attribute :<%= attr -%>
11
+ <% end %>
9
12
  <% end %>
10
13
 
11
14
 
@@ -0,0 +1,8 @@
1
+ = simple_form_for @<%= file_name %>.form, url: "/admin/<%= file_name.pluralize %>" do |f|
2
+ <% if class_mate %>
3
+ <% class_mate.new.attributes.except("id", "created_at", "updated_at").each do |attr,val| %>
4
+ = f.input :<%= attr -%>
5
+ <% end %>
6
+ <% end %>
7
+ %br
8
+ = f.button :submit
data/lib/paramount.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "paramount/version"
2
2
  require "paramount/model"
3
3
  require "paramount/active_record"
4
+ require "paramount/controller"
4
5
 
5
6
  module Paramount
6
7
  # Your code goes here...
@@ -0,0 +1,41 @@
1
+ module Paramount
2
+ module Controller
3
+ def index
4
+ collection
5
+ end
6
+
7
+ def show
8
+ resource
9
+ end
10
+
11
+ def new
12
+ end
13
+
14
+ def edit
15
+ resource
16
+ end
17
+
18
+ def create
19
+ new
20
+
21
+ if new.form(resource_params).save
22
+ redirection(action: 'created')
23
+ else
24
+ render :new
25
+ end
26
+ end
27
+
28
+ def update
29
+ if resource.form(resource_params).save
30
+ redirection(action: 'updated')
31
+ else
32
+ render :edit
33
+ end
34
+ end
35
+
36
+ def destroy
37
+ resource.destroy
38
+ redirect_to polymorphic_path(resource.class), notice: 'Successfully destroyed'
39
+ end
40
+ end
41
+ end
@@ -1,3 +1,3 @@
1
1
  module Paramount
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/paramount.gemspec CHANGED
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.7"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "minitest", "~> 4.7"
27
- spec.add_development_dependency "active_record", "~> 4"
28
- spec.add_development_dependency "sqlite3", "~> 4"
27
+ spec.add_development_dependency "activerecord", "~> 4"
28
+ spec.add_development_dependency "sqlite3"
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paramount
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Sistovaris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-07 00:00:00.000000000 Z
11
+ date: 2016-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '4.7'
83
83
  - !ruby/object:Gem::Dependency
84
- name: active_record
84
+ name: activerecord
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
@@ -98,16 +98,16 @@ dependencies:
98
98
  name: sqlite3
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '4'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '4'
110
+ version: '0'
111
111
  description: Mount your parameteres on a dedicated object to cerate & update your
112
112
  models and finally give power to the building parts of you controller
113
113
  email:
@@ -122,9 +122,12 @@ files:
122
122
  - README.md
123
123
  - Rakefile
124
124
  - lib/generators/paramount_generator.rb
125
+ - lib/generators/templates/controller.rb
125
126
  - lib/generators/templates/form.rb
127
+ - lib/generators/templates/view.rb
126
128
  - lib/paramount.rb
127
129
  - lib/paramount/active_record.rb
130
+ - lib/paramount/controller.rb
128
131
  - lib/paramount/model.rb
129
132
  - lib/paramount/version.rb
130
133
  - paramount.gemspec
@@ -150,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
153
  version: '0'
151
154
  requirements: []
152
155
  rubyforge_project:
153
- rubygems_version: 2.4.5
156
+ rubygems_version: 2.4.5.1
154
157
  signing_key:
155
158
  specification_version: 4
156
159
  summary: Mount your parameteres on a dedicated object.