news 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,2 @@
1
+ class New < ActiveRecord::Base
2
+ end
@@ -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,6 @@
1
+ <h1>Editing new</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @new %> |
6
+ <%= link_to 'Back', news_path %>
@@ -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 %>
@@ -0,0 +1,5 @@
1
+ <h1>New news</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', news_path %>
@@ -0,0 +1,10 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <b>Title:</b>
5
+ <%= @new.title %>
6
+ </p>
7
+
8
+
9
+ <%= link_to 'Edit', edit_new_path(@new) %> |
10
+ <%= link_to 'Back', news_path %>
data/config/routes.rb ADDED
@@ -0,0 +1,4 @@
1
+ Rails.application.routes.draw do |map|
2
+ resources :news, :controller => 'news/news'
3
+ end
4
+
@@ -0,0 +1,8 @@
1
+ Description:
2
+ This is the simple news rails engine.
3
+
4
+ Example:
5
+ rails g news
6
+
7
+ This creates a migration file for the page model and sets up the routes.
8
+ See the README for more details.
@@ -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
@@ -0,0 +1,15 @@
1
+ class CreateNewsTable < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :news do |t|
4
+ t.string :title
5
+ t.string :author
6
+ t.text :content
7
+ t.timestamps
8
+ end
9
+ end
10
+
11
+ def self.down
12
+ drop_table :news
13
+ end
14
+ end
15
+
data/lib/news.rb CHANGED
@@ -0,0 +1 @@
1
+ require 'news/engine' if defined?(Rails) && Rails::VERSION::MAJOR == 3
@@ -0,0 +1,11 @@
1
+ require "news"
2
+ require "rails"
3
+ require "action_controller"
4
+
5
+ module News
6
+ class Engine < Rails::Engine
7
+ rake_tasks do
8
+ load "news/railties/tasks.rake"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ namespace :news do
2
+ desc "Greeting rake task from News Engine"
3
+ task :greet do
4
+ puts "Greeting from News Engine"
5
+ end
6
+ end
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: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.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
- - .document
92
- - Gemfile
93
- - Gemfile.lock
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
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
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