text_record 0.0.2 → 0.0.3

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -44,19 +44,22 @@ module TextRecord
44
44
  def where(options)
45
45
  all.where(options)
46
46
  end
47
- end
48
-
47
+
48
+ def find(slug)
49
+ new(slug)
50
+ end
51
+ end
49
52
 
50
- # Instance Methods
53
+ # Instance Methods
51
54
  def initialize(path)
52
55
  @slug = path
53
-
56
+
54
57
  raise SlugNotFoundError.new("#{directory} could not be found.") unless File.directory?(directory)
55
58
 
56
59
  self.class.attributes.each do |attribute| # class attributes, attr_readers to be added to object
57
60
  attribute.parse(self)
58
61
  end
59
- end
62
+ end
60
63
 
61
64
  def ==(other_model)
62
65
  !other_model.nil? && (other_model.class == self.class) && self.slug.eql?(other_model.slug)
@@ -54,15 +54,15 @@ describe TextRecord::Base do
54
54
 
55
55
  describe "equality" do
56
56
  it "should say two instances are the same if their slugs are the same using ==" do
57
- story1 = Story.new('Story1')
58
- story2 = Story.new('Story1')
57
+ story1 = Story.find('Story1')
58
+ story2 = Story.find('Story1')
59
59
 
60
60
  (story1 == story2).should be_true
61
61
  end
62
62
 
63
63
  it "should say two instances are the same if their slugs are the same using eql?" do
64
- story1 = Story.new('Story1')
65
- story2 = Story.new('Story1')
64
+ story1 = Story.find('Story1')
65
+ story2 = Story.find('Story1')
66
66
 
67
67
  story2.eql?(story1).should be_true
68
68
  end
@@ -71,9 +71,9 @@ describe TextRecord::Base do
71
71
  describe "#all" do
72
72
  it "should return all the stories" do
73
73
  stories = Story.all
74
- story1 = Story.new('Story1')
75
- story2 = Story.new('Story2')
76
- story3 = Story.new('Story3')
74
+ story1 = Story.find('Story1')
75
+ story2 = Story.find('Story2')
76
+ story3 = Story.find('Story3')
77
77
 
78
78
  stories.include?(story1).should be_true
79
79
  stories.include?(story2).should be_true
@@ -83,5 +83,5 @@ describe TextRecord::Base do
83
83
  it "should return a TextRecord::Collection" do
84
84
  Story.all.should be_a(TextRecord::Collection)
85
85
  end
86
- end
86
+ end
87
87
  end
@@ -13,18 +13,18 @@ describe BlogPost do
13
13
  describe "#initialize" do
14
14
  it "should raise an error given an incorrect slug" do
15
15
  # tests for TextRecord::SlugNotFound that has the slug in the error description somewhere
16
- lambda { BlogPost.new("fakeslug") }.should raise_error(TextRecord::SlugNotFoundError, /fakeslug/)
16
+ lambda { BlogPost.find("fakeslug") }.should raise_error(TextRecord::SlugNotFoundError, /fakeslug/)
17
17
  end
18
18
 
19
19
  it "should set the slug" do
20
- BlogPost.new("TextRecord").slug.should eql("TextRecord")
20
+ BlogPost.find("TextRecord").slug.should eql("TextRecord")
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
25
  describe "A Blog Post" do
26
26
  before(:each) do
27
- @blog_post = BlogPost.new('TextRecord')
27
+ @blog_post = BlogPost.find('TextRecord')
28
28
  end
29
29
 
30
30
  describe "attributes from yaml" do
@@ -78,20 +78,20 @@ describe "A Blog Post" do
78
78
 
79
79
  describe "#directory" do
80
80
  it "should return the content path plus the slug" do
81
- BlogPost.new('TextRecord').directory.should eql(File.join(TextRecord.configuration.content_path, "blog_posts","TextRecord"))
81
+ BlogPost.find('TextRecord').directory.should eql(File.join(TextRecord.configuration.content_path, "blog_posts","TextRecord"))
82
82
  end
83
83
  end
84
84
 
85
85
  describe "#eql?" do
86
86
  it "should return true if the slugs are the same" do
87
- blog_post1 = BlogPost.new('TextRecord')
88
- blog_post2 = BlogPost.new('TextRecord')
87
+ blog_post1 = BlogPost.find('TextRecord')
88
+ blog_post2 = BlogPost.find('TextRecord')
89
89
  blog_post1.eql?(blog_post2).should be_true
90
90
  end
91
91
 
92
92
  it "should return false if the slugs are different" do
93
- blog_post1 = BlogPost.new('TextRecord')
94
- blog_post2 = BlogPost.new('ActiveRecord')
93
+ blog_post1 = BlogPost.find('TextRecord')
94
+ blog_post2 = BlogPost.find('ActiveRecord')
95
95
  blog_post1.eql?(blog_post2).should be_false
96
96
  end
97
97
  end
@@ -2,9 +2,9 @@ require 'spec_helper'
2
2
 
3
3
  describe TextRecord::Collection do
4
4
  before(:each) do
5
- @story1 = Story.new('Story1')
6
- @story2 = Story.new('Story2')
7
- @story3 = Story.new('Story3')
5
+ @story1 = Story.find('Story1')
6
+ @story2 = Story.find('Story2')
7
+ @story3 = Story.find('Story3')
8
8
  end
9
9
 
10
10
  describe "#where" do
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{text_record}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adam Hawkins"]
12
- s.date = %q{2010-02-05}
12
+ s.date = %q{2010-02-12}
13
13
  s.description = %q{Write your models in text files through YAML/Makdown/TextFile whatever you please. Take the forms out of your code and harness the power of your favorite editor.}
14
14
  s.email = %q{Adman1965@gmaiil.com}
15
15
  s.files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: text_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hawkins
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-05 00:00:00 -08:00
12
+ date: 2010-02-12 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15