news 0.1.0 → 0.2.0
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.
- data/app/controllers/news/news_controller.rb +89 -0
- data/app/models/new.rb +2 -0
- data/app/views/news/news/_form.html.erb +21 -0
- data/app/views/news/news/edit.html.erb +6 -0
- data/app/views/news/news/index.html.erb +23 -0
- data/app/views/news/news/new.html.erb +5 -0
- data/app/views/news/news/show.html.erb +10 -0
- data/config/routes.rb +4 -0
- data/lib/generators/news/USAGE +8 -0
- data/lib/generators/news/news_generator.rb +23 -0
- data/lib/generators/news/templates/migration.rb +15 -0
- data/lib/news.rb +1 -0
- data/lib/news/engine.rb +11 -0
- data/lib/news/railties/tasks.rake +6 -0
- metadata +17 -9
- data/.document +0 -5
- data/Gemfile +0 -13
- data/Gemfile.lock +0 -20
- data/Rakefile +0 -53
- data/VERSION +0 -1
@@ -0,0 +1,89 @@
|
|
1
|
+
module News
|
2
|
+
class NewsController < ApplicationController
|
3
|
+
|
4
|
+
unloadable
|
5
|
+
|
6
|
+
# GET /news
|
7
|
+
# GET /news.xml
|
8
|
+
def index
|
9
|
+
@news = New.all
|
10
|
+
|
11
|
+
respond_to do |format|
|
12
|
+
format.html # index.html.erb
|
13
|
+
format.xml { render :xml => @news }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /news/1
|
18
|
+
# GET /news/1.xml
|
19
|
+
def show
|
20
|
+
@new = New.find(params[:id])
|
21
|
+
|
22
|
+
respond_to do |format|
|
23
|
+
format.html # show.html.erb
|
24
|
+
format.xml { render :xml => @new }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# GET /news/new
|
29
|
+
# GET /news/new.xml
|
30
|
+
def new
|
31
|
+
@new = New.new
|
32
|
+
|
33
|
+
respond_to do |format|
|
34
|
+
format.html # new.html.erb
|
35
|
+
format.xml { render :xml => @new }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# GET /news/1/edit
|
40
|
+
def edit
|
41
|
+
@new = New.find(params[:id])
|
42
|
+
end
|
43
|
+
|
44
|
+
# POST /news
|
45
|
+
# POST /news.xml
|
46
|
+
def create
|
47
|
+
@new = New.new(params[:new])
|
48
|
+
|
49
|
+
respond_to do |format|
|
50
|
+
if @new.save
|
51
|
+
format.html { redirect_to(@new, :notice => 'Article was successfully created.') }
|
52
|
+
format.xml { render :xml => @new, :status => :created, :location => @new }
|
53
|
+
else
|
54
|
+
format.html { render :action => "new" }
|
55
|
+
format.xml { render :xml => @new.errors, :status => :unprocessable_entity }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# PUT /news/1
|
61
|
+
# PUT /news/1.xml
|
62
|
+
def update
|
63
|
+
@new = New.find(params[:id])
|
64
|
+
|
65
|
+
respond_to do |format|
|
66
|
+
if @new.update_attributes(params[:new])
|
67
|
+
format.html { redirect_to(@new, :notice => 'Article was successfully updated.') }
|
68
|
+
format.xml { head :ok }
|
69
|
+
else
|
70
|
+
format.html { render :action => "edit" }
|
71
|
+
format.xml { render :xml => @new.errors, :status => :unprocessable_entity }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# DELETE /news/1
|
77
|
+
# DELETE /news/1.xml
|
78
|
+
def destroy
|
79
|
+
@new = New.find(params[:id])
|
80
|
+
@new.destroy
|
81
|
+
|
82
|
+
respond_to do |format|
|
83
|
+
format.html { redirect_to(articles_url) }
|
84
|
+
format.xml { head :ok }
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
data/app/models/new.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
<%= form_for(@new) do |f| %>
|
2
|
+
<% if @new.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(@new.errors.count, "error") %> prohibited this new from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% @new.errors.full_messages.each do |msg| %>
|
8
|
+
<li><%= msg %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= f.label :title %><br />
|
16
|
+
<%= f.text_field :title %>
|
17
|
+
</div>
|
18
|
+
<div class="actions">
|
19
|
+
<%= f.submit %>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<h1>Listing news</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th>Title</th>
|
6
|
+
<th></th>
|
7
|
+
<th></th>
|
8
|
+
<th></th>
|
9
|
+
</tr>
|
10
|
+
|
11
|
+
<% @news.each do |new| %>
|
12
|
+
<tr>
|
13
|
+
<td><%= new.title %></td>
|
14
|
+
<td><%= link_to 'Show', new %></td>
|
15
|
+
<td><%= link_to 'Edit', edit_new_path(new) %></td>
|
16
|
+
<td><%= link_to 'Destroy', new, :confirm => 'Are you sure?', :method => :delete %></td>
|
17
|
+
</tr>
|
18
|
+
<% end %>
|
19
|
+
</table>
|
20
|
+
|
21
|
+
<br />
|
22
|
+
|
23
|
+
<%= link_to 'New new', new_news_url %>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'rails/generators/migration'
|
3
|
+
|
4
|
+
class NewsGenerator < Rails::Generators::Base
|
5
|
+
|
6
|
+
include Rails::Generators::Migration
|
7
|
+
|
8
|
+
def self.source_root
|
9
|
+
@source_root ||= File.join(File.dirname(__FILE__), 'templates')
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.next_migration_number(dirname)
|
13
|
+
if ActiveRecord::Base.timestamped_migrations
|
14
|
+
Time.new.utc.strftime("%Y%m%d%H%M%S")
|
15
|
+
else
|
16
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_migration_file
|
21
|
+
migration_template 'migration.rb', 'db/migrate/create_news_table.rb'
|
22
|
+
end
|
23
|
+
end
|
data/lib/news.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
require 'news/engine' if defined?(Rails) && Rails::VERSION::MAJOR == 3
|
data/lib/news/engine.rb
ADDED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: news
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- RuslanHamidullin
|
@@ -88,14 +88,22 @@ extra_rdoc_files:
|
|
88
88
|
- LICENSE.txt
|
89
89
|
- README.rdoc
|
90
90
|
files:
|
91
|
-
- .
|
92
|
-
-
|
93
|
-
-
|
91
|
+
- app/controllers/news/news_controller.rb
|
92
|
+
- app/models/new.rb
|
93
|
+
- app/views/news/news/_form.html.erb
|
94
|
+
- app/views/news/news/edit.html.erb
|
95
|
+
- app/views/news/news/index.html.erb
|
96
|
+
- app/views/news/news/new.html.erb
|
97
|
+
- app/views/news/news/show.html.erb
|
98
|
+
- config/routes.rb
|
99
|
+
- lib/generators/news/USAGE
|
100
|
+
- lib/generators/news/news_generator.rb
|
101
|
+
- lib/generators/news/templates/migration.rb
|
102
|
+
- lib/news.rb
|
103
|
+
- lib/news/engine.rb
|
104
|
+
- lib/news/railties/tasks.rake
|
94
105
|
- LICENSE.txt
|
95
106
|
- README.rdoc
|
96
|
-
- Rakefile
|
97
|
-
- VERSION
|
98
|
-
- lib/news.rb
|
99
107
|
- test/helper.rb
|
100
108
|
- test/test_news.rb
|
101
109
|
has_rdoc: true
|
data/.document
DELETED
data/Gemfile
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
source "http://rubygems.org"
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
5
|
-
|
6
|
-
# Add dependencies to develop your gem here.
|
7
|
-
# Include everything needed to run rake, tests, features, etc.
|
8
|
-
group :development do
|
9
|
-
gem "shoulda", ">= 0"
|
10
|
-
gem "bundler", "~> 1.0.0"
|
11
|
-
gem "jeweler", "~> 1.5.1"
|
12
|
-
gem "rcov", ">= 0"
|
13
|
-
end
|
data/Gemfile.lock
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
git (1.2.5)
|
5
|
-
jeweler (1.5.1)
|
6
|
-
bundler (~> 1.0.0)
|
7
|
-
git (>= 1.2.5)
|
8
|
-
rake
|
9
|
-
rake (0.8.7)
|
10
|
-
rcov (0.9.9)
|
11
|
-
shoulda (2.11.3)
|
12
|
-
|
13
|
-
PLATFORMS
|
14
|
-
ruby
|
15
|
-
|
16
|
-
DEPENDENCIES
|
17
|
-
bundler (~> 1.0.0)
|
18
|
-
jeweler (~> 1.5.1)
|
19
|
-
rcov
|
20
|
-
shoulda
|
data/Rakefile
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'rake'
|
11
|
-
|
12
|
-
require 'jeweler'
|
13
|
-
Jeweler::Tasks.new do |gem|
|
14
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
-
gem.name = "news"
|
16
|
-
gem.homepage = "http://github.com/RuslanHamidullin/news"
|
17
|
-
gem.license = "MIT"
|
18
|
-
gem.summary = "simple news gem"
|
19
|
-
gem.description = "long description"
|
20
|
-
gem.email = "ruslan.hamidullin@flatsoft.com"
|
21
|
-
gem.authors = ["RuslanHamidullin"]
|
22
|
-
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
25
|
-
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
|
-
end
|
27
|
-
Jeweler::RubygemsDotOrgTasks.new
|
28
|
-
|
29
|
-
require 'rake/testtask'
|
30
|
-
Rake::TestTask.new(:test) do |test|
|
31
|
-
test.libs << 'lib' << 'test'
|
32
|
-
test.pattern = 'test/**/test_*.rb'
|
33
|
-
test.verbose = true
|
34
|
-
end
|
35
|
-
|
36
|
-
require 'rcov/rcovtask'
|
37
|
-
Rcov::RcovTask.new do |test|
|
38
|
-
test.libs << 'test'
|
39
|
-
test.pattern = 'test/**/test_*.rb'
|
40
|
-
test.verbose = true
|
41
|
-
end
|
42
|
-
|
43
|
-
task :default => :test
|
44
|
-
|
45
|
-
require 'rake/rdoctask'
|
46
|
-
Rake::RDocTask.new do |rdoc|
|
47
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
48
|
-
|
49
|
-
rdoc.rdoc_dir = 'rdoc'
|
50
|
-
rdoc.title = "news #{version}"
|
51
|
-
rdoc.rdoc_files.include('README*')
|
52
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
53
|
-
end
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.1.0
|