muffins 0.0.1 → 0.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.
- data/README.md +81 -0
- data/lib/muffins/version.rb +1 -1
- data/muffins.gemspec +1 -1
- metadata +13 -12
    
        data/README.md
    ADDED
    
    | @@ -0,0 +1,81 @@ | |
| 1 | 
            +
            Muffins
         | 
| 2 | 
            +
            ========
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            A Nokogiri-based Object to XML/HTML mapping library.
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Installation
         | 
| 7 | 
            +
            ------------
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                gem install muffins
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            Examples
         | 
| 12 | 
            +
            -----
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            ##XML
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                <books>
         | 
| 17 | 
            +
                  <book>
         | 
| 18 | 
            +
                    <asin>1400079985</asin>
         | 
| 19 | 
            +
                    <item_attributes>
         | 
| 20 | 
            +
                      <title>War and Peace (Vintage Classics)</title>
         | 
| 21 | 
            +
                      <author>Leo Tolstoy</author>
         | 
| 22 | 
            +
                      <EAN>9781400079988</EAN>
         | 
| 23 | 
            +
                      <release_date>2008-12-02</release_date>
         | 
| 24 | 
            +
                    </item_attributes>
         | 
| 25 | 
            +
                    <reviews>
         | 
| 26 | 
            +
                      <editorial_review>ZOMG.</editorial_review>
         | 
| 27 | 
            +
                    </reviews>
         | 
| 28 | 
            +
                    <similar_products>
         | 
| 29 | 
            +
                      <similar_product>
         | 
| 30 | 
            +
                        <title>Anna Karenina</title>
         | 
| 31 | 
            +
                        <EAN>9780143035008</EAN>
         | 
| 32 | 
            +
                      </similar_product>
         | 
| 33 | 
            +
                    </similar_products>
         | 
| 34 | 
            +
                  </book>
         | 
| 35 | 
            +
                </books>
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            ##Map XML to Model Classes
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            Primary class:
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                class Book
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  include Muffins
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                  base_path 'book'
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  map :asin
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                  within :item_attributes do |attributes|
         | 
| 50 | 
            +
                    attributes.map :title
         | 
| 51 | 
            +
                    attributes.map :author
         | 
| 52 | 
            +
                    attributes.map :ean, :to => 'EAN'
         | 
| 53 | 
            +
                    attributes.map :release_date, :type => Date
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  map :editorial_review, :within => :reviews
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  map :similar_products, :to => 'SimilarProducts', :type => Product
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            Associated class:
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                class Product
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                  include Muffins
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                  base_path 'similar_product'
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                  map :title
         | 
| 71 | 
            +
                  map :ean, :to => 'EAN'
         | 
| 72 | 
            +
             | 
| 73 | 
            +
                end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            ##Usage
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                Book.parse(xml)
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            returns:
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                [#<Book:0x233ebe8 @asin='1400079985', @title="War and Peace (Vintage Classics)", @author="Leo Tolstoy", @ean="9781400079988", @release_date=Tue, 02 Dec 2008, @editorial_review='ZOMG.', :similar_products=[#<Product:0x234ebe9 @title='Anna Karenina', @ean='9780143035008'>]>]
         | 
    
        data/lib/muffins/version.rb
    CHANGED
    
    
    
        data/muffins.gemspec
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: muffins
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.2
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -14,18 +14,18 @@ default_executable: | |
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: activesupport
         | 
| 17 | 
            -
              requirement: & | 
| 17 | 
            +
              requirement: &7828520 !ruby/object:Gem::Requirement
         | 
| 18 18 | 
             
                none: false
         | 
| 19 19 | 
             
                requirements:
         | 
| 20 | 
            -
                - -  | 
| 20 | 
            +
                - - ! '>='
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 22 | 
             
                    version: 2.3.10
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 | 
            -
              version_requirements: * | 
| 25 | 
            +
              version_requirements: *7828520
         | 
| 26 26 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 27 27 | 
             
              name: nokogiri
         | 
| 28 | 
            -
              requirement: & | 
| 28 | 
            +
              requirement: &7828040 !ruby/object:Gem::Requirement
         | 
| 29 29 | 
             
                none: false
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - ~>
         | 
| @@ -33,10 +33,10 @@ dependencies: | |
| 33 33 | 
             
                    version: '1.4'
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: * | 
| 36 | 
            +
              version_requirements: *7828040
         | 
| 37 37 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 38 38 | 
             
              name: bundler
         | 
| 39 | 
            -
              requirement: & | 
| 39 | 
            +
              requirement: &7827400 !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                none: false
         | 
| 41 41 | 
             
                requirements:
         | 
| 42 42 | 
             
                - - ~>
         | 
| @@ -44,10 +44,10 @@ dependencies: | |
| 44 44 | 
             
                    version: '1.0'
         | 
| 45 45 | 
             
              type: :development
         | 
| 46 46 | 
             
              prerelease: false
         | 
| 47 | 
            -
              version_requirements: * | 
| 47 | 
            +
              version_requirements: *7827400
         | 
| 48 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 49 | 
             
              name: cucumber
         | 
| 50 | 
            -
              requirement: & | 
| 50 | 
            +
              requirement: &7826960 !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                none: false
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - ~>
         | 
| @@ -55,10 +55,10 @@ dependencies: | |
| 55 55 | 
             
                    version: '0.10'
         | 
| 56 56 | 
             
              type: :development
         | 
| 57 57 | 
             
              prerelease: false
         | 
| 58 | 
            -
              version_requirements: * | 
| 58 | 
            +
              version_requirements: *7826960
         | 
| 59 59 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 60 60 | 
             
              name: rspec
         | 
| 61 | 
            -
              requirement: & | 
| 61 | 
            +
              requirement: &7826520 !ruby/object:Gem::Requirement
         | 
| 62 62 | 
             
                none: false
         | 
| 63 63 | 
             
                requirements:
         | 
| 64 64 | 
             
                - - ~>
         | 
| @@ -66,7 +66,7 @@ dependencies: | |
| 66 66 | 
             
                    version: '2.6'
         | 
| 67 67 | 
             
              type: :development
         | 
| 68 68 | 
             
              prerelease: false
         | 
| 69 | 
            -
              version_requirements: * | 
| 69 | 
            +
              version_requirements: *7826520
         | 
| 70 70 | 
             
            description: An Object to XML/HTML mapping library using Nokogiri
         | 
| 71 71 | 
             
            email:
         | 
| 72 72 | 
             
            - ryan.closner@gmail.com
         | 
| @@ -76,6 +76,7 @@ extra_rdoc_files: [] | |
| 76 76 | 
             
            files:
         | 
| 77 77 | 
             
            - .gitignore
         | 
| 78 78 | 
             
            - Gemfile
         | 
| 79 | 
            +
            - README.md
         | 
| 79 80 | 
             
            - Rakefile
         | 
| 80 81 | 
             
            - features/basic_parsing.feature
         | 
| 81 82 | 
             
            - features/nested_parsing.feature
         |