gram 0.0.1 → 0.1.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,2 @@
1
+ pkg/
2
+ tmp/
@@ -1,14 +1,77 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gram (0.0.1)
4
+ gram (0.1.0)
5
+ activesupport
6
+ i18n
5
7
  rest-client
8
+ thor
6
9
 
7
10
  GEM
8
11
  remote: http://rubygems.org/
9
12
  specs:
13
+ abstract (1.0.0)
14
+ actionmailer (3.0.5)
15
+ actionpack (= 3.0.5)
16
+ mail (~> 2.2.15)
17
+ actionpack (3.0.5)
18
+ activemodel (= 3.0.5)
19
+ activesupport (= 3.0.5)
20
+ builder (~> 2.1.2)
21
+ erubis (~> 2.6.6)
22
+ i18n (~> 0.4)
23
+ rack (~> 1.2.1)
24
+ rack-mount (~> 0.6.13)
25
+ rack-test (~> 0.5.7)
26
+ tzinfo (~> 0.3.23)
27
+ activemodel (3.0.5)
28
+ activesupport (= 3.0.5)
29
+ builder (~> 2.1.2)
30
+ i18n (~> 0.4)
31
+ activerecord (3.0.5)
32
+ activemodel (= 3.0.5)
33
+ activesupport (= 3.0.5)
34
+ arel (~> 2.0.2)
35
+ tzinfo (~> 0.3.23)
36
+ activeresource (3.0.5)
37
+ activemodel (= 3.0.5)
38
+ activesupport (= 3.0.5)
39
+ activesupport (3.0.5)
40
+ arel (2.0.9)
41
+ builder (2.1.2)
10
42
  diff-lcs (1.1.2)
43
+ erubis (2.6.6)
44
+ abstract (>= 1.0.0)
45
+ generator_spec (0.8.2)
46
+ rails (~> 3.0)
47
+ rspec-rails
48
+ i18n (0.5.0)
49
+ mail (2.2.15)
50
+ activesupport (>= 2.3.6)
51
+ i18n (>= 0.4.0)
52
+ mime-types (~> 1.16)
53
+ treetop (~> 1.4.8)
11
54
  mime-types (1.16)
55
+ polyglot (0.3.1)
56
+ rack (1.2.2)
57
+ rack-mount (0.6.13)
58
+ rack (>= 1.0.0)
59
+ rack-test (0.5.7)
60
+ rack (>= 1.0)
61
+ rails (3.0.5)
62
+ actionmailer (= 3.0.5)
63
+ actionpack (= 3.0.5)
64
+ activerecord (= 3.0.5)
65
+ activeresource (= 3.0.5)
66
+ activesupport (= 3.0.5)
67
+ bundler (~> 1.0)
68
+ railties (= 3.0.5)
69
+ railties (3.0.5)
70
+ actionpack (= 3.0.5)
71
+ activesupport (= 3.0.5)
72
+ rake (>= 0.8.7)
73
+ thor (~> 0.14.4)
74
+ rake (0.8.7)
12
75
  rest-client (1.6.1)
13
76
  mime-types (>= 1.16)
14
77
  rspec (2.5.0)
@@ -19,12 +82,22 @@ GEM
19
82
  rspec-expectations (2.5.0)
20
83
  diff-lcs (~> 1.1.2)
21
84
  rspec-mocks (2.5.0)
85
+ rspec-rails (2.5.0)
86
+ actionpack (~> 3.0)
87
+ activesupport (~> 3.0)
88
+ railties (~> 3.0)
89
+ rspec (~> 2.5.0)
90
+ thor (0.14.6)
91
+ treetop (1.4.9)
92
+ polyglot (>= 0.3.1)
93
+ tzinfo (0.3.25)
22
94
 
23
95
  PLATFORMS
24
96
  ruby
25
97
 
26
98
  DEPENDENCIES
99
+ activemodel
27
100
  bundler (~> 1.0.7)
101
+ generator_spec (~> 0.8.1)
28
102
  gram!
29
- rest-client
30
103
  rspec (~> 2.5.0)
data/bin/gram CHANGED
@@ -3,8 +3,13 @@ $: << 'lib'
3
3
  require 'gram'
4
4
 
5
5
  component = ARGV.shift
6
+ action = ARGV.shift
6
7
  args = ARGV
7
8
 
8
9
  raise "Unknown Gram component. Available components are: #{Gram::COMPONENTS.join(', ')}" unless Gram::COMPONENTS.include?(component)
9
10
 
10
- eval("Gram::#{component.capitalize}").run(*args)
11
+ component_klass = eval("Gram::#{component.capitalize}")
12
+
13
+ raise "Unknown action for #{component} component.\n#{component_klass.banner}\n" unless component_klass::ACTIONS.keys.map(&:to_s).include?(action)
14
+
15
+ component_klass.send(action, *args)
@@ -15,9 +15,14 @@ Gem::Specification.new do |s|
15
15
  s.rubyforge_project = "gram"
16
16
 
17
17
  s.add_runtime_dependency 'rest-client'
18
+ s.add_runtime_dependency 'thor'
19
+ s.add_runtime_dependency 'i18n'
20
+ s.add_runtime_dependency 'activesupport'
18
21
 
19
22
  s.add_development_dependency 'bundler', '~> 1.0.7'
20
23
  s.add_development_dependency 'rspec', '~> 2.5.0'
24
+ s.add_development_dependency 'generator_spec', '~> 0.8.1'
25
+ s.add_development_dependency 'activemodel'
21
26
 
22
27
  s.files = `git ls-files`.split("\n")
23
28
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -1,6 +1,9 @@
1
1
  require 'gram/blog'
2
2
  require 'gram/blog/parser'
3
3
 
4
+ require 'gram/gem'
5
+ require 'gram/gem/generator'
6
+
4
7
  module Gram
5
- COMPONENTS = %w(blog)
8
+ COMPONENTS = %w(blog gem)
6
9
  end
@@ -1,19 +1,61 @@
1
1
  require 'rest-client'
2
+ require 'json'
2
3
 
3
4
  module Gram
4
5
  module Blog
6
+
7
+ ACTIONS = { upload: {
8
+ description: "Uploads the markdown file with filename FILE",
9
+ arguments: %w(FILE),
10
+ },
11
+ download: {
12
+ description: "Downloads all blog posts to the current folder.",
13
+ arguments: %w(),
14
+ }
15
+ }
16
+
5
17
  class << self
6
18
 
7
- def run(*args)
8
- file = args.first
19
+ def banner
20
+ out = "Available actions:\n"
21
+ ACTIONS.each_pair do |action, metadata|
22
+ out << "\n\t#{action} #{metadata[:arguments].join(' ')}\t\t#{metadata[:description]}"
23
+ end
24
+ out
25
+ end
26
+
27
+ # ACTIONS
28
+
29
+ def upload(file)
9
30
  raise "File #{file} does not exist." unless File.exists?(file)
10
- puts "Gram::Blog posting..."
31
+ puts "Gram::Blog uploading..."
11
32
  post = Parser.parse(file)
12
33
  response = RestClient.post("http://codegram.com/api/posts", token: get_token, post: post )
13
34
  puts "Response Code: #{response.code}"
14
35
  puts "Response Body: #{response.body}"
15
36
  end
16
37
 
38
+ def download
39
+ posts = JSON.parse(RestClient.get("http://codegram.com/api/posts?token=#{get_token}"))
40
+ posts.each do |post|
41
+ post = post["post"]
42
+ header = """
43
+ ---
44
+ title: #{post["title"]}
45
+ tagline: #{post["tagline"]}
46
+ ---
47
+
48
+ """.strip
49
+ puts "Downloading #{post["cached_slug"]}.markdown..."
50
+ File.open("#{post["cached_slug"]}.markdown", 'w') do |f|
51
+ f.write header
52
+ f.write "\n\n"
53
+ f.write post["body"]
54
+ f.write "\n"
55
+ end
56
+ end
57
+ end
58
+
17
59
  private
18
60
 
19
61
  def get_token
@@ -10,12 +10,9 @@ module Gram
10
10
  headers = raw_content.match(/---(.*)---/m)
11
11
  yaml = YAML.load($1.strip)
12
12
 
13
- title = yaml["title"]
14
- tagline = yaml["tagline"]
15
-
16
13
  content = raw_content.gsub(/---.*---/m, '').strip
17
14
 
18
- { title: title, tagline: tagline, body: content }
15
+ yaml.update({ 'body' => content })
19
16
  end
20
17
 
21
18
  end
@@ -0,0 +1,30 @@
1
+ module Gram
2
+ module Gem
3
+
4
+ ACTIONS = { create: {
5
+ description: "Creates a new gem with the given NAME",
6
+ arguments: %w(NAME [--rails]),
7
+ },
8
+ }
9
+
10
+ class << self
11
+
12
+ def banner
13
+ out = "Available actions:\n"
14
+ ACTIONS.each_pair do |action, metadata|
15
+ out << "\n\t#{action} #{metadata[:arguments].join(' ')}\t\t#{metadata[:description]}"
16
+ end
17
+ out
18
+ end
19
+
20
+ # ACTIONS
21
+
22
+ def create(name, *options)
23
+ puts "Gram::Gem generating gem scaffold for #{name}..."
24
+ Generator.new.generate(name, options)
25
+ puts "Generated on ./#{name} :)"
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,62 @@
1
+ require 'thor'
2
+ require 'active_support/inflector'
3
+
4
+ module Gram
5
+ module Gem
6
+ class Generator < Thor
7
+ include Thor::Actions
8
+
9
+ source_root File.dirname(__FILE__)
10
+
11
+ no_tasks do
12
+ def generate(name, options)
13
+ @rails = true if options.include?("--rails")
14
+ @underscored = name.underscore
15
+ @camelized = name.camelize
16
+
17
+ run "bundle gem #{@underscored}"
18
+
19
+ remove_file("#{@underscored}/Rakefile")
20
+ template('templates/Rakefile.tt', "#{@underscored}/Rakefile")
21
+
22
+ remove_file("#{@underscored}/.gitignore")
23
+ template('templates/gitignore.tt', "#{@underscored}/.gitignore")
24
+
25
+ template('templates/Readme.tt', "#{@underscored}/Readme.md")
26
+ template('templates/rvmrc.tt', "#{@underscored}/.rvmrc")
27
+
28
+ empty_directory "#{@underscored}/spec"
29
+ template('templates/spec/spec_helper.tt', "#{@underscored}/spec/spec_helper.rb")
30
+
31
+ inject_into_file "#{@underscored}/#{@underscored}.gemspec", :after => "s.rubyforge_project = \"#{@underscored}\"" do
32
+ runtime_dependencies = []
33
+ runtime_dependencies << " s.add_runtime_dependency 'activerecord', '~> 3.0.5'" if rails
34
+
35
+ development_dependencies = []
36
+ development_dependencies << " s.add_runtime_dependency 'sqlite3'" if rails
37
+ development_dependencies += [
38
+ " s.add_development_dependency 'rspec', '~> 2.5.0'",
39
+ " s.add_development_dependency 'yard'",
40
+ " s.add_development_dependency 'bluecloth'" ]
41
+
42
+ "\n\n" + runtime_dependencies.join("\n") << "\n\n"<< development_dependencies.join("\n")
43
+ end
44
+ end
45
+ end
46
+
47
+ private
48
+
49
+ def underscored
50
+ @underscored
51
+ end
52
+
53
+ def camelized
54
+ @camelized
55
+ end
56
+
57
+ def rails
58
+ @rails
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,47 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec/core/rake_task'
5
+ desc "Run <%= underscored %> specs"
6
+ RSpec::Core::RakeTask.new
7
+
8
+ require 'yard'
9
+ YARD::Rake::YardocTask.new(:docs) do |t|
10
+ t.files = ['lib/**/*.rb']
11
+ t.options = ['-m', 'markdown', '--no-private', '-r', 'Readme.md', '--title', '<%= camelized %> documentation']
12
+ end
13
+
14
+ site = 'doc'
15
+ source_branch = 'master'
16
+ deploy_branch = 'gh-pages'
17
+
18
+ desc "generate and deploy documentation website to github pages"
19
+ multitask :pages do
20
+ puts ">>> Deploying #{deploy_branch} branch to Github Pages <<<"
21
+ require 'git'
22
+ repo = Git.open('.')
23
+ puts "\n>>> Checking out #{deploy_branch} branch <<<\n"
24
+ repo.branch("#{deploy_branch}").checkout
25
+ (Dir["*"] - [site]).each { |f| rm_rf(f) }
26
+ Dir["#{site}/*"].each {|f| mv(f, "./")}
27
+ rm_rf(site)
28
+ puts "\n>>> Moving generated site files <<<\n"
29
+ Dir["**/*"].each {|f| repo.add(f) }
30
+ repo.status.deleted.each {|f, s| repo.remove(f)}
31
+ puts "\n>>> Commiting: Site updated at #{Time.now.utc} <<<\n"
32
+ message = ENV["MESSAGE"] || "Site updated at #{Time.now.utc}"
33
+ repo.commit(message)
34
+ puts "\n>>> Pushing generated site to #{deploy_branch} branch <<<\n"
35
+ repo.push
36
+ puts "\n>>> Github Pages deploy complete <<<\n"
37
+ repo.branch("#{source_branch}").checkout
38
+ end
39
+
40
+ task :doc => [:docs]
41
+
42
+ desc "Generate and open class diagram (needs Graphviz installed)"
43
+ task :graph do |t|
44
+ `bundle exec yard graph -d --full --no-private | dot -Tpng -o graph.png && open graph.png`
45
+ end
46
+
47
+ task :default => [:spec]
@@ -0,0 +1,38 @@
1
+ #<%= underscored %>
2
+
3
+ <%= camelized %> is a lightweight gem aimed at saving the world.
4
+
5
+ ##Install
6
+
7
+ $ gem install <%= underscored %>
8
+
9
+ Or in your Gemfile:
10
+
11
+ gem '<%= underscored %>'
12
+
13
+ ##Usage
14
+
15
+ (usage instructions)
16
+
17
+ ##Under the hood
18
+
19
+ Run the test suite by typing:
20
+
21
+ rake spec
22
+
23
+ You can also build the documentation with the following command:
24
+
25
+ rake docs
26
+
27
+ ## Note on Patches/Pull Requests
28
+
29
+ * Fork the project.
30
+ * Make your feature addition or bug fix.
31
+ * Add tests for it. This is important so I don't break it in a
32
+ future version unintentionally.
33
+ * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
34
+ * Send us a pull request. Bonus points for topic branches.
35
+
36
+ ## Copyright
37
+
38
+ Copyright (c) 2011 Codegram. See LICENSE for details.
@@ -0,0 +1,6 @@
1
+ *.gem
2
+ .bundle
3
+ pkg/*
4
+ graph.png
5
+ .yardoc/*
6
+ doc/*
@@ -0,0 +1 @@
1
+ rvm --create use ruby-1.9.2@<%= underscored %>
@@ -0,0 +1,18 @@
1
+ require 'rspec'
2
+ require '<%= underscored %>'
3
+ <% if rails %>
4
+
5
+ ActiveRecord::Base.establish_connection(
6
+ :adapter => 'sqlite3',
7
+ :database => ':memory:'
8
+ )
9
+
10
+ ActiveRecord::Schema.define do
11
+ create_table :articles do |t|
12
+ t.string :name
13
+ t.integer :price
14
+
15
+ t.timestamps
16
+ end
17
+ end
18
+ <% end %>
@@ -1,3 +1,3 @@
1
1
  module Gram
2
- VERSION = '0.0.1'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -11,6 +11,7 @@ module Gram
11
11
  ---
12
12
  title: My title
13
13
  tagline: My tagline
14
+ published: false
14
15
  ---
15
16
 
16
17
  #My post
@@ -19,9 +20,10 @@ Blah
19
20
  """
20
21
  File.stub(:read).with(file).and_return raw
21
22
 
22
- subject.parse(file).should == { title: 'My title',
23
- tagline: 'My tagline',
24
- body: "#My post\n#\nBlah"}
23
+ subject.parse(file).should == { 'title' => 'My title',
24
+ 'tagline' => 'My tagline',
25
+ 'published' => false,
26
+ 'body' => "#My post\n#\nBlah"}
25
27
  end
26
28
  end
27
29
 
@@ -7,11 +7,11 @@ module Gram
7
7
  File.stub(:exists?).and_return true
8
8
  end
9
9
 
10
- describe ".run" do
10
+ describe ".upload" do
11
11
  it 'parses the file' do
12
12
  subject::Parser.should_receive(:parse).with("my_post.md")
13
13
  expect {
14
- subject.run("my_post.md")
14
+ subject.upload("my_post.md")
15
15
  }.to raise_error(RestClient::InternalServerError)
16
16
  end
17
17
  it 'sends a post request' do
@@ -23,7 +23,33 @@ module Gram
23
23
 
24
24
  RestClient.should_receive(:post).with("http://codegram.com/api/posts", token: token, post: post).and_return response
25
25
 
26
- subject.run("my_post.md")
26
+ subject.upload("my_post.md")
27
+ end
28
+ end
29
+
30
+ describe ".download" do
31
+ it 'gets the posts' do
32
+ RestClient.stub(:get)
33
+ JSON.should_receive(:parse).and_return [ { "post" => {
34
+ "title" => "My title",
35
+ "tagline" => "My tagline",
36
+ "cached_slug" => "my-post",
37
+ "body" => "#Hello world"
38
+ } } ]
39
+
40
+ file = double(:file)
41
+ File.should_receive(:open).with('my-post.markdown', 'w').and_yield file
42
+ file.should_receive(:write).with """
43
+ ---
44
+ title: My title
45
+ tagline: My tagline
46
+ ---
47
+ """.strip
48
+ file.should_receive(:write).with "\n\n"
49
+ file.should_receive(:write).with "#Hello world"
50
+ file.should_receive(:write).with "\n"
51
+
52
+ subject.download
27
53
  end
28
54
  end
29
55
 
@@ -0,0 +1,96 @@
1
+ require 'spec_helper'
2
+ require 'fileutils'
3
+
4
+ require 'action_view'
5
+ require 'action_controller'
6
+ ActionView::Template::Handlers::ERB::ENCODING_FLAG = ActionView::ENCODING_FLAG
7
+
8
+ require 'generator_spec/test_case'
9
+
10
+ module Gram
11
+ module Gem
12
+ describe Generator do
13
+ include GeneratorSpec::TestCase
14
+ destination File.expand_path('../../../../tmp', __FILE__)
15
+ tests Generator
16
+
17
+ before(:each) do
18
+ prepare_destination
19
+ end
20
+
21
+ after(:each) do
22
+ FileUtils.rm_rf File.expand_path('../../../../tmp', __FILE__)
23
+ end
24
+
25
+ it 'is a Thor generator' do
26
+ Generator.ancestors.should include(Thor)
27
+ end
28
+
29
+ describe ".generate" do
30
+ it 'creates a new gem' do
31
+ FileUtils.chdir File.expand_path('../../../../tmp', __FILE__)
32
+ Generator.new.generate('my_gem', [])
33
+ destination_root.should have_structure {
34
+ directory "my_gem" do
35
+ file "Gemfile"
36
+ file "Rakefile"
37
+ file ".gitignore"
38
+ file ".rvmrc"
39
+ file "Readme.md"
40
+ file "my_gem.gemspec" do
41
+ contains "rspec"
42
+ contains "yard"
43
+ contains "bluecloth"
44
+ end
45
+ directory "lib" do
46
+ file "my_gem.rb"
47
+ directory "my_gem" do
48
+ file "version.rb"
49
+ end
50
+ end
51
+ directory "spec" do
52
+ file "spec_helper.rb"
53
+ end
54
+ end
55
+ }
56
+ end
57
+
58
+ context 'with --rails' do
59
+ it 'creates a new rails-ready gem' do
60
+ FileUtils.chdir File.expand_path('../../../../tmp', __FILE__)
61
+ Generator.new.generate('my_gem', ['--rails'])
62
+ destination_root.should have_structure {
63
+ directory "my_gem" do
64
+ file "Gemfile"
65
+ file "Rakefile"
66
+ file ".gitignore"
67
+ file ".rvmrc"
68
+ file "Readme.md"
69
+ file "my_gem.gemspec" do
70
+ contains "activerecord"
71
+ contains "sqlite3"
72
+
73
+ contains "rspec"
74
+ contains "yard"
75
+ contains "bluecloth"
76
+ end
77
+ directory "lib" do
78
+ file "my_gem.rb"
79
+ directory "my_gem" do
80
+ file "version.rb"
81
+ end
82
+ end
83
+ directory "spec" do
84
+ file "spec_helper.rb" do
85
+ contains "ActiveRecord"
86
+ end
87
+ end
88
+ end
89
+ }
90
+ end
91
+ end
92
+ end
93
+
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ module Gram
4
+ describe Gem do
5
+
6
+ describe ".create" do
7
+ it 'calls a gem generator' do
8
+ generator = mock(Gem::Generator)
9
+ Gem::Generator.should_receive(:new).and_return generator
10
+ generator.should_receive(:generate).with('my_gem', ['--rails'])
11
+
12
+ subject.create 'my_gem', '--rails'
13
+ end
14
+ end
15
+
16
+ end
17
+ end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gram
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
4
+ prerelease:
5
+ version: 0.1.0
10
6
  platform: ruby
11
7
  authors:
12
8
  - Josep M. Bach
@@ -16,7 +12,7 @@ autorequire:
16
12
  bindir: bin
17
13
  cert_chain: []
18
14
 
19
- date: 2011-02-23 00:00:00 +01:00
15
+ date: 2011-03-21 00:00:00 +01:00
20
16
  default_executable:
21
17
  dependencies:
22
18
  - !ruby/object:Gem::Dependency
@@ -27,41 +23,86 @@ dependencies:
27
23
  requirements:
28
24
  - - ">="
29
25
  - !ruby/object:Gem::Version
30
- segments:
31
- - 0
32
26
  version: "0"
33
27
  type: :runtime
34
28
  version_requirements: *id001
35
29
  - !ruby/object:Gem::Dependency
36
- name: bundler
30
+ name: thor
37
31
  prerelease: false
38
32
  requirement: &id002 !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: "0"
38
+ type: :runtime
39
+ version_requirements: *id002
40
+ - !ruby/object:Gem::Dependency
41
+ name: i18n
42
+ prerelease: false
43
+ requirement: &id003 !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: "0"
49
+ type: :runtime
50
+ version_requirements: *id003
51
+ - !ruby/object:Gem::Dependency
52
+ name: activesupport
53
+ prerelease: false
54
+ requirement: &id004 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "0"
60
+ type: :runtime
61
+ version_requirements: *id004
62
+ - !ruby/object:Gem::Dependency
63
+ name: bundler
64
+ prerelease: false
65
+ requirement: &id005 !ruby/object:Gem::Requirement
39
66
  none: false
40
67
  requirements:
41
68
  - - ~>
42
69
  - !ruby/object:Gem::Version
43
- segments:
44
- - 1
45
- - 0
46
- - 7
47
70
  version: 1.0.7
48
71
  type: :development
49
- version_requirements: *id002
72
+ version_requirements: *id005
50
73
  - !ruby/object:Gem::Dependency
51
74
  name: rspec
52
75
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
76
+ requirement: &id006 !ruby/object:Gem::Requirement
54
77
  none: false
55
78
  requirements:
56
79
  - - ~>
57
80
  - !ruby/object:Gem::Version
58
- segments:
59
- - 2
60
- - 5
61
- - 0
62
81
  version: 2.5.0
63
82
  type: :development
64
- version_requirements: *id003
83
+ version_requirements: *id006
84
+ - !ruby/object:Gem::Dependency
85
+ name: generator_spec
86
+ prerelease: false
87
+ requirement: &id007 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: 0.8.1
93
+ type: :development
94
+ version_requirements: *id007
95
+ - !ruby/object:Gem::Dependency
96
+ name: activemodel
97
+ prerelease: false
98
+ requirement: &id008 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: "0"
104
+ type: :development
105
+ version_requirements: *id008
65
106
  description: Internal client for Codegram administration
66
107
  email:
67
108
  - info@codegram.com
@@ -72,6 +113,7 @@ extensions: []
72
113
  extra_rdoc_files: []
73
114
 
74
115
  files:
116
+ - .gitignore
75
117
  - .rspec
76
118
  - .rvmrc
77
119
  - Gemfile
@@ -83,9 +125,18 @@ files:
83
125
  - lib/gram.rb
84
126
  - lib/gram/blog.rb
85
127
  - lib/gram/blog/parser.rb
128
+ - lib/gram/gem.rb
129
+ - lib/gram/gem/generator.rb
130
+ - lib/gram/gem/templates/Rakefile.tt
131
+ - lib/gram/gem/templates/Readme.tt
132
+ - lib/gram/gem/templates/gitignore.tt
133
+ - lib/gram/gem/templates/rvmrc.tt
134
+ - lib/gram/gem/templates/spec/spec_helper.tt
86
135
  - lib/gram/version.rb
87
136
  - spec/gram/blog/parser_spec.rb
88
137
  - spec/gram/blog_spec.rb
138
+ - spec/gram/gem/generator_spec.rb
139
+ - spec/gram/gem_spec.rb
89
140
  - spec/gram_spec.rb
90
141
  - spec/spec_helper.rb
91
142
  has_rdoc: true
@@ -102,26 +153,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
153
  requirements:
103
154
  - - ">="
104
155
  - !ruby/object:Gem::Version
105
- segments:
106
- - 0
107
156
  version: "0"
108
157
  required_rubygems_version: !ruby/object:Gem::Requirement
109
158
  none: false
110
159
  requirements:
111
160
  - - ">="
112
161
  - !ruby/object:Gem::Version
113
- segments:
114
- - 0
115
162
  version: "0"
116
163
  requirements: []
117
164
 
118
165
  rubyforge_project: gram
119
- rubygems_version: 1.3.7
166
+ rubygems_version: 1.5.2
120
167
  signing_key:
121
168
  specification_version: 3
122
169
  summary: Internal client for Codegram administration
123
170
  test_files:
124
171
  - spec/gram/blog/parser_spec.rb
125
172
  - spec/gram/blog_spec.rb
173
+ - spec/gram/gem/generator_spec.rb
174
+ - spec/gram/gem_spec.rb
126
175
  - spec/gram_spec.rb
127
176
  - spec/spec_helper.rb