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.
@@ -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