planet 0.0.3 → 0.0.4

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/bin/planet CHANGED
@@ -29,7 +29,7 @@ command :generate do |c|
29
29
  @planet = Planet.new
30
30
 
31
31
  conf['blogs'].each do |blog|
32
- @planet.blogs << Blog.new(
32
+ @planet.blogs << Planet::Blog.new(
33
33
  blog['feed'],
34
34
  blog['author'],
35
35
  blog['image'],
@@ -1,40 +1,6 @@
1
1
  require 'simple-rss'
2
2
  require 'open-uri'
3
3
 
4
- class Blog < Struct.new(:feed, :author, :image, :posts)
5
- end
6
-
7
- class Post < Struct.new(:title, :content, :date, :link, :blog)
8
-
9
- def to_hash
10
- {
11
- title: title,
12
- date: date.strftime('%Y-%m-%d %H:%M'),
13
- link: link,
14
- content: content,
15
- author: blog.author
16
- }
17
- end
18
-
19
- def header
20
- ## TODO: We need categories/tags
21
- "---
22
- title: \"%{title}\"
23
- kind: article
24
- author: %{author}
25
- created_at: %{date}
26
- ---
27
- " % self.to_hash
28
- end
29
-
30
- def file_name
31
- name_date = date ? date.strftime('%Y-%m-%d') : nil
32
- name_title = title.downcase.scan(/\w+/).join('-')
33
-
34
- [name_date, name_title].join('-')
35
- end
36
- end
37
-
38
4
  class Planet
39
5
 
40
6
  def initialize
@@ -99,11 +65,54 @@ class Planet
99
65
  posts(filter: {date: true, order: :date}).each do |post|
100
66
  file_name = '_posts/'.concat post.file_name
101
67
 
102
- File.open(file_name + '.markdown', "w+") { |f|
103
- f.write(post.header)
104
- f.write(post.content)
105
- f.close
68
+ File.open(file_name + '.markdown', "w+") { |f| f.write(post.to_s) }
69
+ end
70
+ end
71
+
72
+ class Post < Struct.new(:title, :content, :date, :link, :blog)
73
+
74
+ def to_hash
75
+ {
76
+ title: title,
77
+ date: date.strftime('%Y-%m-%d %H:%M'),
78
+ link: link,
79
+ content: content,
80
+ author: blog.author
106
81
  }
107
82
  end
83
+
84
+ def header
85
+ ## TODO: We need categories/tags
86
+ "---
87
+ title: \"%{title}\"
88
+ kind: article
89
+ created_at: %{date}
90
+ layout: post
91
+ ---
92
+ " % self.to_hash
93
+ end
94
+
95
+ def file_name
96
+ name_date = date ? date.strftime('%Y-%m-%d') : nil
97
+ name_title = title.downcase.scan(/\w+/).join('-')
98
+
99
+ [name_date, name_title].join('-')
100
+ end
101
+
102
+ def footer
103
+ "
104
+ <div class=\"author\">
105
+ <img src=\"#{ self.blog.image }\"/ style=\"width: 107px; height: 20px;\">
106
+ <i>Post by #{ self.blog.author } - <a href=\"#{ self.link }\">read it from the source</a></i>
107
+ </div>
108
+ "
109
+ end
110
+
111
+ def to_s
112
+ self.header + self.content + self.footer
113
+ end
114
+ end
115
+
116
+ class Blog < Struct.new(:feed, :author, :image, :posts)
108
117
  end
109
118
  end
@@ -0,0 +1,13 @@
1
+ module Planet
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 0
5
+ PATCH = 4
6
+
7
+ def self.to_s
8
+ [MAJOR, MINOR, PATCH].join('.')
9
+ end
10
+ end # Version
11
+
12
+ VERSION = Version.to_s
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: planet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-14 00:00:00.000000000 Z
12
+ date: 2012-04-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2152421140 !ruby/object:Gem::Requirement
16
+ requirement: &2151836920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2152421140
24
+ version_requirements: *2151836920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: gli
27
- requirement: &2152420600 !ruby/object:Gem::Requirement
27
+ requirement: &2151835780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2152420600
35
+ version_requirements: *2151835780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simple-rss
38
- requirement: &2152419980 !ruby/object:Gem::Requirement
38
+ requirement: &2151834540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2152419980
46
+ version_requirements: *2151834540
47
47
  description:
48
48
  email: pote@tardis.com.uy
49
49
  executables:
@@ -52,7 +52,7 @@ extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
54
54
  - bin/planet
55
- - lib/planet_version.rb
55
+ - lib/version.rb
56
56
  - lib/planet.rb
57
57
  homepage: http://poteland.com
58
58
  licenses: []
@@ -1,3 +0,0 @@
1
- module Planet
2
- VERSION = '0.0.3'
3
- end