plain_record 0.1 → 0.2

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.
metadata CHANGED
@@ -1,93 +1,145 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: plain_record
3
- version: !ruby/object:Gem::Version
4
- version: "0.1"
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.2'
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Andrey "A.I." Sitnik
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2009-05-23 00:00:00 +04:00
13
- default_executable:
14
- dependencies: []
15
-
16
- description: "Plain Record is a data persistence, which use human editable and readable plain text files. It\xE2\x80\x99s ideal for static generated sites, like blog or homepage."
12
+ date: 2012-05-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: &17738960 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.0.10
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *17738960
25
+ - !ruby/object:Gem::Dependency
26
+ name: yard
27
+ requirement: &17738420 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *17738420
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &17737900 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *17737900
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: &17737420 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *17737420
58
+ - !ruby/object:Gem::Dependency
59
+ name: redcarpet
60
+ requirement: &17736940 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *17736940
69
+ description: ! " Plain Record is a data persistence, which use human editable and\n
70
+ \ readable plain text files. It’s ideal for static generated sites,\n like
71
+ blog or homepage.\n"
17
72
  email: andrey@sitnik.ru
18
73
  executables: []
19
-
20
74
  extensions: []
21
-
22
- extra_rdoc_files:
23
- - README.rdoc
75
+ extra_rdoc_files:
76
+ - README.md
24
77
  - LICENSE
25
- files:
78
+ - ChangeLog
79
+ files:
80
+ - .gitignore
81
+ - .rspec
82
+ - .travis.yml
83
+ - .yardopts
84
+ - ChangeLog
85
+ - Gemfile
86
+ - Gemfile.lock
87
+ - LICENSE
88
+ - README.md
89
+ - Rakefile
26
90
  - lib/plain_record.rb
27
- - lib/plain_record
28
- - lib/plain_record/model
91
+ - lib/plain_record/association_proxy.rb
92
+ - lib/plain_record/associations.rb
93
+ - lib/plain_record/callbacks.rb
94
+ - lib/plain_record/filepath.rb
95
+ - lib/plain_record/model.rb
29
96
  - lib/plain_record/model/entry.rb
30
97
  - lib/plain_record/model/list.rb
31
98
  - lib/plain_record/resource.rb
32
99
  - lib/plain_record/version.rb
33
- - lib/plain_record/model.rb
34
- - spec/spec_helper.rb
35
- - spec/data
36
- - spec/data/2
37
- - spec/data/2/post.m
38
- - spec/data/authors
100
+ - plain_record.gemspec
101
+ - spec/associations_spec.rb
102
+ - spec/callbacks_spec.rb
103
+ - spec/data/1/comments.yml
104
+ - spec/data/1/post.md
105
+ - spec/data/2/post.md
106
+ - spec/data/3/post.md
39
107
  - spec/data/authors/extern.yml
40
108
  - spec/data/authors/intern.yml
41
- - spec/data/3
42
- - spec/data/3/post.m
43
- - spec/data/1
44
- - spec/data/1/post.m
45
- - spec/resource_spec.rb
109
+ - spec/data/best/4/post.md
110
+ - spec/filepath_spec.rb
46
111
  - spec/model_spec.rb
47
- - Rakefile
48
- - LICENSE
49
- - README.rdoc
50
- has_rdoc: true
51
- homepage: http://github.com/ai/plain_record
112
+ - spec/resource_spec.rb
113
+ - spec/spec_helper.rb
114
+ homepage: https://github.com/ai/plain_record
115
+ licenses: []
52
116
  post_install_message:
53
- rdoc_options:
54
- - --title "Plain Record"
55
- - --main README.rdoc
56
- - --charset=utf-8
57
- - --all
58
- - --inline-source
59
- require_paths:
117
+ rdoc_options: []
118
+ require_paths:
60
119
  - lib
61
- required_ruby_version: !ruby/object:Gem::Requirement
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- version: "0"
66
- version:
67
- required_rubygems_version: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- version: "0"
72
- version:
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ segments:
127
+ - 0
128
+ hash: -111920136576463880
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ segments:
136
+ - 0
137
+ hash: -111920136576463880
73
138
  requirements: []
74
-
75
- rubyforge_project: plainrecord
76
- rubygems_version: 1.3.1
139
+ rubyforge_project:
140
+ rubygems_version: 1.8.11
77
141
  signing_key:
78
- specification_version: 2
142
+ specification_version: 3
79
143
  summary: Data persistence, which use human editable and readable plain text files.
80
- test_files:
81
- - spec/spec_helper.rb
82
- - spec/data
83
- - spec/data/2
84
- - spec/data/2/post.m
85
- - spec/data/authors
86
- - spec/data/authors/extern.yml
87
- - spec/data/authors/intern.yml
88
- - spec/data/3
89
- - spec/data/3/post.m
90
- - spec/data/1
91
- - spec/data/1/post.m
92
- - spec/resource_spec.rb
93
- - spec/model_spec.rb
144
+ test_files: []
145
+ has_rdoc:
data/README.rdoc DELETED
@@ -1,96 +0,0 @@
1
- = Plain Record
2
- Plaint Record is a data persistence, which use human editable and readable plain
3
- text files. It’s ideal for static generated sites, like blog or homepage.
4
-
5
- If you want to write another static website generator, you didn’t need to write
6
- another file parser – you can use Plain Record.
7
-
8
- == How To
9
- For example we will create simple blog storage with posts and comments.
10
-
11
- 1. Add Plain Record to your application:
12
-
13
- require 'plain_record'
14
-
15
- 2. Set storage root – dir, which will contain all data files:
16
-
17
- PlainRecord.root = 'data/'
18
-
19
- 3. Create Post class, include <tt>Plain::Resource</tt> module, set glob pattern
20
- to posts files and define properties:
21
-
22
- class Post
23
- include Plain::Resource
24
-
25
- entry_in '*/post.m'
26
-
27
- property :title
28
- property :tags
29
- text :summary
30
- text :content
31
- end
32
-
33
- 4. Create new post file <tt>data/first/post.m</tt>. Properties will be saved as
34
- YAML and text will be placed as plain text, which is separated by 3 dashes:
35
-
36
- title: My first post
37
- tags: test, first
38
- ---
39
- It is short post summary.
40
- ---
41
- And this is big big post text.
42
- In several lines.
43
-
44
- 5. Also you can use files with list of entries. For example, comments:
45
-
46
- class Comment
47
- include Plain::Resource
48
-
49
- list_in '*/comments.yml'
50
-
51
- property :name
52
- property :comment
53
- end
54
-
55
- You can’t use text fields in list files.
56
- 6. List files is a just YAML array. For example,
57
- <tt>data/first/comments.yml</tt>:
58
-
59
- - author: Anonymous
60
- comment: I like it!
61
- - author: Friend
62
- comment: You first post it shit.
63
-
64
- 7. Get all post:
65
-
66
- Post.all # will return array with our first post
67
-
68
- 8. Get specify enrties:
69
-
70
- Comment.all(author: 'Anonymous')
71
- Post.all(title: /first/)
72
- Post.all { |i| i.tags.length == 2 }
73
-
74
- 9. To get one entry use +first+ method, which also can take matchers. You can
75
- access for properties and text by methods with same name:
76
-
77
- post = Post.first(title: /first/)
78
- post.title #=> "My first post"
79
- post.tags #=> ["test", "first"]
80
- post.summary #=> "It is short post summary."
81
-
82
- 10. You can also change and save entries:
83
-
84
- post.title = 'First post'
85
- post.save
86
-
87
- 11. And delete it (with empty dirs in it file path):
88
-
89
- post.destroy
90
-
91
- == License
92
- Plain Record is licensed under the GNU Lesser General Public License version 3.
93
- You can read it in LICENSE file or in www.gnu.org/licenses/lgpl.html.
94
-
95
- == Author
96
- Andrey “A.I.” Sitnik <andrey@sitnik.ru>
data/spec/data/3/post.m DELETED
@@ -1 +0,0 @@
1
- title: Third