fap 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@ lib/fap.rb
6
6
  lib/fap/relation.rb
7
7
  lib/fap/support
8
8
  lib/fap/support/class.rb
9
- lib/fap/fap.rb
9
+ lib/fap/paw.rb
10
10
  lib/fap/mixins
11
11
  lib/fap/mixins/properties.rb
12
12
  lib/fap/mixins/relations.rb
@@ -18,7 +18,7 @@ acronym. :)
18
18
 
19
19
  == SYNOPSIS:
20
20
 
21
- class Atom < FAP::FAP
21
+ class Atom < FAP::Paw
22
22
  string :title, :xpath => '//feed/title'
23
23
  uri :url, :xpath => '//feed/link[@rel="self"]', :get => :href
24
24
  date :updated, :xpath => '//feed/updated'
@@ -26,7 +26,7 @@ acronym. :)
26
26
  has_many :articles, :class => 'Article', :xpath => '//feed/entry'
27
27
  end
28
28
 
29
- class Article < FAP::FAP
29
+ class Article < FAP::Paw
30
30
  string :title # It is assumed here, that you want a string mapped on a <title> element
31
31
  uri :url, :xpath => 'link[@rel="alternate"]', :get => :href # Fetch the :href attribute
32
32
  string :content
data/lib/fap.rb CHANGED
@@ -4,9 +4,9 @@ $:.unshift(File.dirname(__FILE__)) unless
4
4
  require 'nokogiri'
5
5
 
6
6
  module FAP
7
- VERSION = '0.0.2'
7
+ VERSION = '0.0.3'
8
8
 
9
- autoload :FAP, 'fap/fap'
9
+ autoload :Paw, 'fap/paw'
10
10
  autoload :Property, 'fap/property'
11
11
  autoload :Relation, 'fap/relation'
12
12
  autoload :Mixins, 'fap/mixins'
@@ -7,7 +7,7 @@ module FAP
7
7
  @fetched = false
8
8
  @node = node
9
9
  @relation = relation
10
- @klass = ::FAP.constantize relation.klass
10
+ @klass = FAP.constantize relation.klass
11
11
  end
12
12
 
13
13
  def each
@@ -35,7 +35,7 @@ module FAP
35
35
  opts = {}
36
36
  opts.merge!(:type => args.shift) if args[0].class == String
37
37
  opts.merge!(*args) unless args.empty?
38
- property = ::FAP::Property.new name, opts
38
+ property = FAP::Property.new name, opts
39
39
  self.properties << property
40
40
  define_property_getter property
41
41
  end
@@ -17,7 +17,7 @@ module FAP
17
17
  # Load a relation by its nane
18
18
  #
19
19
  # @return [FAP::Collection] for "has_many" relations
20
- # @return [FAP::FAP] "father" object for "belongs_to" relations
20
+ # @return [FAP::Paw] "father" object for "belongs_to" relations
21
21
  def _load_relation name
22
22
  relation = self.relations.select { |rel| rel.name == name }.first
23
23
  if relation.type == :has_many
@@ -31,7 +31,7 @@ module FAP
31
31
 
32
32
  def _load_has_many relation
33
33
  relation.from = self
34
- ::FAP::Collection.new relation, @_node
34
+ FAP::Collection.new relation, @_node
35
35
  end
36
36
 
37
37
  def _load_belongs_to relation
@@ -45,7 +45,7 @@ module FAP
45
45
  #
46
46
  def has_many name, opts={}
47
47
  opts.merge! :type => :has_many, :from => self
48
- relation = ::FAP::Relation.new name, opts
48
+ relation = FAP::Relation.new name, opts
49
49
  self.relations << relation
50
50
  define_relation_getter relation
51
51
  end
@@ -55,7 +55,7 @@ module FAP
55
55
  #
56
56
  def belongs_to name, opts={}
57
57
  opts.merge! :type => :belongs_to, :from => self
58
- relation = ::FAP::Relation.new name, opts
58
+ relation = FAP::Relation.new name, opts
59
59
  self.relations << relation
60
60
  define_relation_getter relation
61
61
  end
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  module FAP
4
- class FAP
4
+ class Paw
5
5
 
6
6
  def self.inherited subclass
7
- subclass.send :include, ::FAP::Mixins::Properties
8
- subclass.send :include, ::FAP::Mixins::Relations
7
+ subclass.send :include, FAP::Mixins::Properties
8
+ subclass.send :include, FAP::Mixins::Relations
9
9
  subclass.class_eval <<-EOS, __FILE__, __LINE__ + 1
10
10
  def self.inherited subclass
11
11
  super
@@ -27,7 +27,7 @@ module FAP
27
27
  # @see FAP::Collection
28
28
  # @param [FAP::Relation] Object relation
29
29
  # @param [Nokogiri::XML::Element] starting node
30
- # @retun [FAP::FAP]
30
+ # @retun [FAP::Paw]
31
31
  def from_relation relation, node
32
32
  relation.from.class
33
33
  owners = self.relations.select { |rel| rel.type == :belongs_to && rel.klass == relation.from.class.to_s }
@@ -26,7 +26,7 @@ module FAP
26
26
  when 'String'
27
27
  what.to_s
28
28
  else
29
- ::FAP.constantize(@type).new(what)
29
+ FAP.constantize(@type).new(what)
30
30
  end
31
31
  end
32
32
  end
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
 
3
3
  describe "a very light FAP" do
4
4
  before :all do
5
- class Foo < FAP::FAP ; end
5
+ class Foo < FAP::Paw ; end
6
6
  end
7
7
 
8
8
  it "should define #properties #accessor" do
@@ -18,7 +18,7 @@ end
18
18
 
19
19
  describe "a very light FAP with properties" do
20
20
  before :all do
21
- class Foo < FAP::FAP
21
+ class Foo < FAP::Paw
22
22
  property :str_name
23
23
  property :str_prop, 'String'
24
24
  property :xpath_prop, 'Fixnum', :xpath => '//foobar'
@@ -60,11 +60,11 @@ end
60
60
 
61
61
  describe "a FAP with some relations" do
62
62
  before :all do
63
- class Foo < FAP::FAP
63
+ class Foo < FAP::Paw
64
64
  has_many :bars, :class => 'Bar', :xpath => '//foo/bars'
65
65
  end
66
66
 
67
- class Bar < FAP::FAP
67
+ class Bar < FAP::Paw
68
68
  belongs_to :foo, :class => 'Foo'
69
69
  end
70
70
  end
@@ -89,7 +89,7 @@ end
89
89
 
90
90
  describe "a simple FAP to read a stream" do
91
91
  before :all do
92
- class Foo < FAP::FAP ; end
92
+ class Foo < FAP::Paw ; end
93
93
  end
94
94
 
95
95
  it "should load a File object" do
@@ -100,7 +100,7 @@ end
100
100
  describe "a simple FAP to parse an atom feed" do
101
101
  before :all do
102
102
  # Define a simple Atom parser for twitter searches.
103
- class Atom < FAP::FAP
103
+ class Atom < FAP::Paw
104
104
  string :title, :xpath => '//feed/title'
105
105
  uri :url, :xpath => '//feed/link[@rel="self"]', :get => :href
106
106
  date :updated, :xpath => '//feed/updated'
@@ -108,7 +108,7 @@ describe "a simple FAP to parse an atom feed" do
108
108
  has_many :articles, :class => 'Article', :xpath => '//feed/entry'
109
109
  end
110
110
 
111
- class Article < FAP::FAP
111
+ class Article < FAP::Paw
112
112
  string :title
113
113
  uri :url, :xpath => 'link[@rel="alternate"]', :get => :href
114
114
  string :content
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fap
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
  - Arnaud Berthomier
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-31 00:00:00 +02:00
12
+ date: 2010-04-01 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -71,7 +71,7 @@ files:
71
71
  - lib/fap.rb
72
72
  - lib/fap/relation.rb
73
73
  - lib/fap/support/class.rb
74
- - lib/fap/fap.rb
74
+ - lib/fap/paw.rb
75
75
  - lib/fap/mixins/properties.rb
76
76
  - lib/fap/mixins/relations.rb
77
77
  - lib/fap/mixins.rb