active_text 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/.rspec +1 -0
 - data/.rvmrc +1 -0
 - data/Gemfile +2 -1
 - data/Gemfile.lock +5 -1
 - data/README.textile +64 -5
 - data/Rakefile +13 -16
 - data/VERSION +1 -1
 - data/active_text.gemspec +21 -8
 - data/lib/active_text/base.rb +60 -0
 - data/lib/active_text/variable.rb +49 -0
 - data/lib/active_text.rb +2 -0
 - data/spec/active_text_spec.rb +96 -0
 - data/spec/spec_helper.rb +12 -0
 - metadata +30 -9
 
    
        data/.rspec
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --color
         
     | 
    
        data/.rvmrc
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            rvm ree-1.8.7-2011.03@active_text
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -6,8 +6,9 @@ source "http://rubygems.org" 
     | 
|
| 
       6 
6 
     | 
    
         
             
            # Add dependencies to develop your gem here.
         
     | 
| 
       7 
7 
     | 
    
         
             
            # Include everything needed to run rake, tests, features, etc.
         
     | 
| 
       8 
8 
     | 
    
         
             
            group :development do
         
     | 
| 
       9 
     | 
    
         
            -
              gem "rspec", " 
     | 
| 
      
 9 
     | 
    
         
            +
              gem "rspec", "2.3.0"
         
     | 
| 
       10 
10 
     | 
    
         
             
              gem "bundler", "~> 1.0.0"
         
     | 
| 
       11 
11 
     | 
    
         
             
              gem "jeweler", "~> 1.5.2"
         
     | 
| 
       12 
12 
     | 
    
         
             
              gem "rcov", ">= 0"
         
     | 
| 
      
 13 
     | 
    
         
            +
              gem "autotest"
         
     | 
| 
       13 
14 
     | 
    
         
             
            end
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,6 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            GEM
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: http://rubygems.org/
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
      
 4 
     | 
    
         
            +
                ZenTest (4.5.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
                autotest (4.4.6)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  ZenTest (>= 4.4.1)
         
     | 
| 
       4 
7 
     | 
    
         
             
                diff-lcs (1.1.2)
         
     | 
| 
       5 
8 
     | 
    
         
             
                git (1.2.5)
         
     | 
| 
       6 
9 
     | 
    
         
             
                jeweler (1.5.2)
         
     | 
| 
         @@ -22,7 +25,8 @@ PLATFORMS 
     | 
|
| 
       22 
25 
     | 
    
         
             
              ruby
         
     | 
| 
       23 
26 
     | 
    
         | 
| 
       24 
27 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
      
 28 
     | 
    
         
            +
              autotest
         
     | 
| 
       25 
29 
     | 
    
         
             
              bundler (~> 1.0.0)
         
     | 
| 
       26 
30 
     | 
    
         
             
              jeweler (~> 1.5.2)
         
     | 
| 
       27 
31 
     | 
    
         
             
              rcov
         
     | 
| 
       28 
     | 
    
         
            -
              rspec ( 
     | 
| 
      
 32 
     | 
    
         
            +
              rspec (= 2.3.0)
         
     | 
    
        data/README.textile
    CHANGED
    
    | 
         @@ -4,9 +4,69 @@ ActiveText is to text, as ActiveRecord is to the database. ActiveText is able to 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            h2. Why would you want to do this?
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            Ramon Tayag was looking for a way to edit SASS files in terms of variables. He wanted end-users who didn't know anything about SASS to be able to edit variables to change colors, images, etc, in the stylesheet. To  
     | 
| 
      
 7 
     | 
    
         
            +
            Ramon Tayag was looking for a way to edit SASS files in terms of variables. He wanted end-users who didn't know anything about SASS to be able to edit variables to change colors, images, etc, in the stylesheet. To achieve that, he needed the ability to parse through text files and easy replace variables in them.
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
            h2. How does it work?
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            Given this text:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            <pre>// @name Background image
         
     | 
| 
      
 14 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 15 
     | 
    
         
            +
            // @description Background image. Tiled left to right, up to down, so the file has to be repeatable.
         
     | 
| 
      
 16 
     | 
    
         
            +
            $bg_image: "http://someurl.com/bg.jpg"
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            // @name Link Color
         
     | 
| 
      
 19 
     | 
    
         
            +
            // @kind color
         
     | 
| 
      
 20 
     | 
    
         
            +
            // @description Color of the link text
         
     | 
| 
      
 21 
     | 
    
         
            +
            $link_color: #555;
         
     | 
| 
      
 22 
     | 
    
         
            +
            </pre>
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            You can pass that into a ActiveText:
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            <pre>
         
     | 
| 
      
 27 
     | 
    
         
            +
            @at = ActiveText::Base.new(text_you_see_above)
         
     | 
| 
      
 28 
     | 
    
         
            +
            @at.bg_image.name # returns "Background image"
         
     | 
| 
      
 29 
     | 
    
         
            +
            @at.bg_image.kind # returns "file"
         
     | 
| 
      
 30 
     | 
    
         
            +
            @at.bg_image.value # returns %Q("http://someurl.com/bg.jpg") - note that there are double quotes in the string
         
     | 
| 
      
 31 
     | 
    
         
            +
            @at.link_color.kind # returns "color"
         
     | 
| 
      
 32 
     | 
    
         
            +
            @at.link_color.value # returns "#555"
         
     | 
| 
      
 33 
     | 
    
         
            +
            </pre>
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            You can also update the values:
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            <pre>
         
     | 
| 
      
 38 
     | 
    
         
            +
            @at = ActiveText::Base.new(text_you_see_above)
         
     | 
| 
      
 39 
     | 
    
         
            +
            @at.bg_image.value = "'/path/to/image.png'"
         
     | 
| 
      
 40 
     | 
    
         
            +
            @at.render # returns the text passed into base, with values replaced:
         
     | 
| 
      
 41 
     | 
    
         
            +
            </pre>
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            <pre>
         
     | 
| 
      
 44 
     | 
    
         
            +
            // @name Background image
         
     | 
| 
      
 45 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 46 
     | 
    
         
            +
            // @description Background image. Tiled left to right, up to down, so the file has to be repeatable.
         
     | 
| 
      
 47 
     | 
    
         
            +
            $bg_image: '/path/to/image.png'
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            // @name Link Color
         
     | 
| 
      
 50 
     | 
    
         
            +
            // @kind color
         
     | 
| 
      
 51 
     | 
    
         
            +
            // @description Color of the link text
         
     | 
| 
      
 52 
     | 
    
         
            +
            $link_color: #555;
         
     | 
| 
      
 53 
     | 
    
         
            +
            </pre>
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            You can also mass update: <pre>@at.update_attributes(:bg_image => %Q("http://anotherurl.com/img.jpg"), :link_color => "green")</pre>
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
            h2. Gotchas
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            Right now, only the following metadata will work:
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            * name
         
     | 
| 
      
 62 
     | 
    
         
            +
            * kind
         
     | 
| 
      
 63 
     | 
    
         
            +
            * color
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            And only the following format to pickup values for variables will work:
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            <code>$variable_name: this is the value;</code>
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            h2. Contributing to active_text
         
     | 
| 
       10 
70 
     | 
    
         | 
| 
       11 
71 
     | 
    
         
             
            * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
         
     | 
| 
       12 
72 
     | 
    
         
             
            * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
         
     | 
| 
         @@ -16,7 +76,6 @@ Ramon Tayag was looking for a way to edit SASS files in terms of variables. He w 
     | 
|
| 
       16 
76 
     | 
    
         
             
            * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
         
     | 
| 
       17 
77 
     | 
    
         
             
            * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
         
     | 
| 
       18 
78 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 79 
     | 
    
         
            +
            h2. Copyright
         
     | 
| 
       20 
80 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            Copyright (c) 2011 Ramon Tayag. See LICENSE.txt for
         
     | 
| 
       22 
     | 
    
         
            -
            further details.
         
     | 
| 
      
 81 
     | 
    
         
            +
            Copyright (c) 2011 Ramon Tayag. See LICENSE.txt for further details.
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -8,15 +8,15 @@ rescue Bundler::BundlerError => e 
     | 
|
| 
       8 
8 
     | 
    
         
             
              exit e.status_code
         
     | 
| 
       9 
9 
     | 
    
         
             
            end
         
     | 
| 
       10 
10 
     | 
    
         
             
            require 'rake'
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
11 
     | 
    
         
             
            require 'jeweler'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       13 
13 
     | 
    
         
             
            Jeweler::Tasks.new do |gem|
         
     | 
| 
       14 
14 
     | 
    
         
             
              # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem.name = "active_text"
         
     | 
| 
       16 
     | 
    
         
            -
              gem.homepage = "http://github.com/ 
     | 
| 
      
 16 
     | 
    
         
            +
              gem.homepage = "http://github.com/ramontayag/active_text"
         
     | 
| 
       17 
17 
     | 
    
         
             
              gem.license = "MIT"
         
     | 
| 
       18 
     | 
    
         
            -
              gem.summary = %Q{ActiveText : Text as ActiveRecord :  
     | 
| 
       19 
     | 
    
         
            -
              gem.description = %Q{ 
     | 
| 
      
 18 
     | 
    
         
            +
              gem.summary = %Q{ActiveText : Text as ActiveRecord : Records. Sort of.}
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.description = %Q{Aims to be able to read and replace "variables" in text in an active record manner. I don't claim that it behaves exactly like ActiveRecord - that is a much more complex beast than this will ever be.}
         
     | 
| 
       20 
20 
     | 
    
         
             
              gem.email = "ramon@tayag.net"
         
     | 
| 
       21 
21 
     | 
    
         
             
              gem.authors = ["Ramon Tayag"]
         
     | 
| 
       22 
22 
     | 
    
         
             
              # Include your dependencies below. Runtime dependencies are required when using your gem,
         
     | 
| 
         @@ -26,28 +26,25 @@ Jeweler::Tasks.new do |gem| 
     | 
|
| 
       26 
26 
     | 
    
         
             
            end
         
     | 
| 
       27 
27 
     | 
    
         
             
            Jeweler::RubygemsDotOrgTasks.new
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            require ' 
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
               
     | 
| 
       33 
     | 
    
         
            -
              test.verbose = true
         
     | 
| 
      
 29 
     | 
    
         
            +
            require 'rspec/core'
         
     | 
| 
      
 30 
     | 
    
         
            +
            require 'rspec/core/rake_task'
         
     | 
| 
      
 31 
     | 
    
         
            +
            RSpec::Core::RakeTask.new(:spec) do |spec|
         
     | 
| 
      
 32 
     | 
    
         
            +
              spec.pattern = FileList['spec/**/*_spec.rb']
         
     | 
| 
       34 
33 
     | 
    
         
             
            end
         
     | 
| 
       35 
34 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
               
     | 
| 
       39 
     | 
    
         
            -
              test.pattern = 'test/**/test_*.rb'
         
     | 
| 
       40 
     | 
    
         
            -
              test.verbose = true
         
     | 
| 
      
 35 
     | 
    
         
            +
            RSpec::Core::RakeTask.new(:rcov) do |spec|
         
     | 
| 
      
 36 
     | 
    
         
            +
              spec.pattern = 'spec/**/*_spec.rb'
         
     | 
| 
      
 37 
     | 
    
         
            +
              spec.rcov = true
         
     | 
| 
       41 
38 
     | 
    
         
             
            end
         
     | 
| 
       42 
39 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
            task :default => : 
     | 
| 
      
 40 
     | 
    
         
            +
            task :default => :spec
         
     | 
| 
       44 
41 
     | 
    
         | 
| 
       45 
42 
     | 
    
         
             
            require 'rake/rdoctask'
         
     | 
| 
       46 
43 
     | 
    
         
             
            Rake::RDocTask.new do |rdoc|
         
     | 
| 
       47 
44 
     | 
    
         
             
              version = File.exist?('VERSION') ? File.read('VERSION') : ""
         
     | 
| 
       48 
45 
     | 
    
         | 
| 
       49 
46 
     | 
    
         
             
              rdoc.rdoc_dir = 'rdoc'
         
     | 
| 
       50 
     | 
    
         
            -
              rdoc.title = " 
     | 
| 
      
 47 
     | 
    
         
            +
              rdoc.title = "at #{version}"
         
     | 
| 
       51 
48 
     | 
    
         
             
              rdoc.rdoc_files.include('README*')
         
     | 
| 
       52 
49 
     | 
    
         
             
              rdoc.rdoc_files.include('lib/**/*.rb')
         
     | 
| 
       53 
50 
     | 
    
         
             
            end
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.0. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.0.2
         
     | 
    
        data/active_text.gemspec
    CHANGED
    
    | 
         @@ -5,12 +5,12 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{active_text}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.0. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.0.2"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Ramon Tayag"]
         
     | 
| 
       12 
12 
     | 
    
         
             
              s.date = %q{2011-03-18}
         
     | 
| 
       13 
     | 
    
         
            -
              s.description = %q{ 
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = %q{Aims to be able to read and replace "variables" in text in an active record manner. I don't claim that it behaves exactly like ActiveRecord - that is a much more complex beast than this will ever be.}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{ramon@tayag.net}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
       16 
16 
     | 
    
         
             
                "LICENSE.txt",
         
     | 
| 
         @@ -18,6 +18,8 @@ Gem::Specification.new do |s| 
     | 
|
| 
       18 
18 
     | 
    
         
             
              ]
         
     | 
| 
       19 
19 
     | 
    
         
             
              s.files = [
         
     | 
| 
       20 
20 
     | 
    
         
             
                ".document",
         
     | 
| 
      
 21 
     | 
    
         
            +
                ".rspec",
         
     | 
| 
      
 22 
     | 
    
         
            +
                ".rvmrc",
         
     | 
| 
       21 
23 
     | 
    
         
             
                "Gemfile",
         
     | 
| 
       22 
24 
     | 
    
         
             
                "Gemfile.lock",
         
     | 
| 
       23 
25 
     | 
    
         
             
                "LICENSE.txt",
         
     | 
| 
         @@ -25,33 +27,44 @@ Gem::Specification.new do |s| 
     | 
|
| 
       25 
27 
     | 
    
         
             
                "Rakefile",
         
     | 
| 
       26 
28 
     | 
    
         
             
                "VERSION",
         
     | 
| 
       27 
29 
     | 
    
         
             
                "active_text.gemspec",
         
     | 
| 
       28 
     | 
    
         
            -
                "lib/active_text.rb"
         
     | 
| 
      
 30 
     | 
    
         
            +
                "lib/active_text.rb",
         
     | 
| 
      
 31 
     | 
    
         
            +
                "lib/active_text/base.rb",
         
     | 
| 
      
 32 
     | 
    
         
            +
                "lib/active_text/variable.rb",
         
     | 
| 
      
 33 
     | 
    
         
            +
                "spec/active_text_spec.rb",
         
     | 
| 
      
 34 
     | 
    
         
            +
                "spec/spec_helper.rb"
         
     | 
| 
       29 
35 
     | 
    
         
             
              ]
         
     | 
| 
       30 
     | 
    
         
            -
              s.homepage = %q{http://github.com/ 
     | 
| 
      
 36 
     | 
    
         
            +
              s.homepage = %q{http://github.com/ramontayag/active_text}
         
     | 
| 
       31 
37 
     | 
    
         
             
              s.licenses = ["MIT"]
         
     | 
| 
       32 
38 
     | 
    
         
             
              s.require_paths = ["lib"]
         
     | 
| 
       33 
39 
     | 
    
         
             
              s.rubygems_version = %q{1.6.2}
         
     | 
| 
       34 
     | 
    
         
            -
              s.summary = %q{ActiveText : Text as ActiveRecord :  
     | 
| 
      
 40 
     | 
    
         
            +
              s.summary = %q{ActiveText : Text as ActiveRecord : Records. Sort of.}
         
     | 
| 
      
 41 
     | 
    
         
            +
              s.test_files = [
         
     | 
| 
      
 42 
     | 
    
         
            +
                "spec/active_text_spec.rb",
         
     | 
| 
      
 43 
     | 
    
         
            +
                "spec/spec_helper.rb"
         
     | 
| 
      
 44 
     | 
    
         
            +
              ]
         
     | 
| 
       35 
45 
     | 
    
         | 
| 
       36 
46 
     | 
    
         
             
              if s.respond_to? :specification_version then
         
     | 
| 
       37 
47 
     | 
    
         
             
                s.specification_version = 3
         
     | 
| 
       38 
48 
     | 
    
         | 
| 
       39 
49 
     | 
    
         
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         
     | 
| 
       40 
     | 
    
         
            -
                  s.add_development_dependency(%q<rspec>, [" 
     | 
| 
      
 50 
     | 
    
         
            +
                  s.add_development_dependency(%q<rspec>, ["= 2.3.0"])
         
     | 
| 
       41 
51 
     | 
    
         
             
                  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       42 
52 
     | 
    
         
             
                  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
       43 
53 
     | 
    
         
             
                  s.add_development_dependency(%q<rcov>, [">= 0"])
         
     | 
| 
      
 54 
     | 
    
         
            +
                  s.add_development_dependency(%q<autotest>, [">= 0"])
         
     | 
| 
       44 
55 
     | 
    
         
             
                else
         
     | 
| 
       45 
     | 
    
         
            -
                  s.add_dependency(%q<rspec>, [" 
     | 
| 
      
 56 
     | 
    
         
            +
                  s.add_dependency(%q<rspec>, ["= 2.3.0"])
         
     | 
| 
       46 
57 
     | 
    
         
             
                  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       47 
58 
     | 
    
         
             
                  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
       48 
59 
     | 
    
         
             
                  s.add_dependency(%q<rcov>, [">= 0"])
         
     | 
| 
      
 60 
     | 
    
         
            +
                  s.add_dependency(%q<autotest>, [">= 0"])
         
     | 
| 
       49 
61 
     | 
    
         
             
                end
         
     | 
| 
       50 
62 
     | 
    
         
             
              else
         
     | 
| 
       51 
     | 
    
         
            -
                s.add_dependency(%q<rspec>, [" 
     | 
| 
      
 63 
     | 
    
         
            +
                s.add_dependency(%q<rspec>, ["= 2.3.0"])
         
     | 
| 
       52 
64 
     | 
    
         
             
                s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       53 
65 
     | 
    
         
             
                s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
       54 
66 
     | 
    
         
             
                s.add_dependency(%q<rcov>, [">= 0"])
         
     | 
| 
      
 67 
     | 
    
         
            +
                s.add_dependency(%q<autotest>, [">= 0"])
         
     | 
| 
       55 
68 
     | 
    
         
             
              end
         
     | 
| 
       56 
69 
     | 
    
         
             
            end
         
     | 
| 
       57 
70 
     | 
    
         | 
| 
         @@ -0,0 +1,60 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module ActiveText
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Base
         
     | 
| 
      
 3 
     | 
    
         
            +
                attr_reader :text, :variables
         
     | 
| 
      
 4 
     | 
    
         
            +
                attr_writer :options
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                def initialize(text, options={})
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @text = text
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @variables = {}
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  options[:eol] ||= '\n'
         
     | 
| 
      
 11 
     | 
    
         
            +
                  options[:context_lines] ||= 3
         
     | 
| 
      
 12 
     | 
    
         
            +
                  options[:comment] ||= /\/\//
         
     | 
| 
      
 13 
     | 
    
         
            +
                  options[:context] ||= "(^(?:#{options[:comment]}\s@.*#{options[:eol]}){#{options[:context_lines]}})"
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @options = options
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                def update_attributes(args)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  args.each do |k, v|
         
     | 
| 
      
 19 
     | 
    
         
            +
                    send(k) # Instantiate it, so it will exist in @variables
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @variables[k].value = v unless @variables[k].nil? || v.nil?
         
     | 
| 
      
 21 
     | 
    
         
            +
                  end
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                # Used to update the text
         
     | 
| 
      
 25 
     | 
    
         
            +
                def render
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @variables.each do |key, var|
         
     | 
| 
      
 27 
     | 
    
         
            +
                    @text.gsub!(/^\$#{key}: .+;/, %Q($#{key}: #{var.value};))
         
     | 
| 
      
 28 
     | 
    
         
            +
                  end
         
     | 
| 
      
 29 
     | 
    
         
            +
                  @text
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                protected
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                # Whenever a variable is requested for, it falls into this.
         
     | 
| 
      
 35 
     | 
    
         
            +
                def method_missing(method_name)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  if method_name.to_s =~ /[\w]+/
         
     | 
| 
      
 37 
     | 
    
         
            +
                    context = context_of(method_name)
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                    # If there's no context (no variable with the proper
         
     | 
| 
      
 40 
     | 
    
         
            +
                    # commented metadata), then it should not be accessible
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # and it won't be accessible
         
     | 
| 
      
 42 
     | 
    
         
            +
                    if context.nil? || context == ""
         
     | 
| 
      
 43 
     | 
    
         
            +
                      nil
         
     | 
| 
      
 44 
     | 
    
         
            +
                    else
         
     | 
| 
      
 45 
     | 
    
         
            +
                      @variables[method_name] ||= ActiveText::Variable.new(method_name, context, @options[:comment])
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                # Works this way: http://rubular.com/r/jWSYvfVrjj
         
     | 
| 
      
 51 
     | 
    
         
            +
                # From http://rubular.com/r/jWSYvfVrjj
         
     | 
| 
      
 52 
     | 
    
         
            +
                # Derived from http://stackoverflow.com/questions/2760759/ruby-equivalent-to-grep-c-5-to-get-context-of-lines-around-the-match
         
     | 
| 
      
 53 
     | 
    
         
            +
                def context_of(s)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  regexp = /.*\${1}#{s}:.*;[#{@options[:eol]}]*/
         
     | 
| 
      
 55 
     | 
    
         
            +
                  @text =~ /^#{@options[:context]}(#{regexp})/
         
     | 
| 
      
 56 
     | 
    
         
            +
                  before, match = $1, $2
         
     | 
| 
      
 57 
     | 
    
         
            +
                  "#{before}#{match}"
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,49 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module ActiveText
         
     | 
| 
      
 2 
     | 
    
         
            +
              # These are currently the kinds of metadata that we can fetch
         
     | 
| 
      
 3 
     | 
    
         
            +
              # This should be configurable in the future (or remove it entirely)
         
     | 
| 
      
 4 
     | 
    
         
            +
              METADATA = %w(name kind description)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              class Variable
         
     | 
| 
      
 7 
     | 
    
         
            +
                attr_reader :key, :context, :comment
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                def initialize(key, context, comment)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # What the short name of this variable is
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @key = key
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  # Text surrounding the variable, as determined by Base
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @context = context
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  # What is considered a comment
         
     | 
| 
      
 17 
     | 
    
         
            +
                  @comment = comment
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                # if any of the metadata string methods are called
         
     | 
| 
      
 21 
     | 
    
         
            +
                # then we return what the value is
         
     | 
| 
      
 22 
     | 
    
         
            +
                def method_missing(method_name)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  if METADATA.include? method_name.to_s
         
     | 
| 
      
 24 
     | 
    
         
            +
                    content_of(method_name.to_s)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  end
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                def value
         
     | 
| 
      
 29 
     | 
    
         
            +
                  @context.each do |string|
         
     | 
| 
      
 30 
     | 
    
         
            +
                    string =~ /^\${1}#{@key}: (.+);/
         
     | 
| 
      
 31 
     | 
    
         
            +
                    return $1 if $1
         
     | 
| 
      
 32 
     | 
    
         
            +
                  end
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                def value=(val)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @context.gsub!(/^\$#{@key}: .+;/, "$#{@key}: #{val};")
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                private
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                def content_of(metadata)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @context.each do |string|
         
     | 
| 
      
 43 
     | 
    
         
            +
                    string =~ /^#{@comment} @([\w]+[^\s]) (.+)/
         
     | 
| 
      
 44 
     | 
    
         
            +
                    return $2 if $1 == metadata
         
     | 
| 
      
 45 
     | 
    
         
            +
                  end
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/active_text.rb
    CHANGED
    
    
| 
         @@ -0,0 +1,96 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe "ActiveText" do
         
     | 
| 
      
 4 
     | 
    
         
            +
              describe "given properly formatted input" do
         
     | 
| 
      
 5 
     | 
    
         
            +
                before do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  @text = %{// @name Masthead Background Image
         
     | 
| 
      
 7 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 8 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 9 
     | 
    
         
            +
            $mbc2: "http://someurl.com/image.jpg";
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            // @name Masthead BG Color
         
     | 
| 
      
 12 
     | 
    
         
            +
            // @kind color
         
     | 
| 
      
 13 
     | 
    
         
            +
            // @description Background color.
         
     | 
| 
      
 14 
     | 
    
         
            +
            $mbc: #555;}
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                it "should be able to set variables and return them properly" do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @atb = ActiveText::Base.new(@text)
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  @atb.mbc.name.should == "Masthead BG Color"
         
     | 
| 
      
 21 
     | 
    
         
            +
                  @atb.mbc.kind.should == "color"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  @atb.mbc.description.should == "Background color."
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @atb.mbc.value.should == "#555"
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  @atb.mbc2.name.should == "Masthead Background Image"
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @atb.mbc2.kind.should == "file"
         
     | 
| 
      
 27 
     | 
    
         
            +
                  @atb.mbc2.description.should == "Background image."
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @atb.mbc2.value.should == %Q("http://someurl.com/image.jpg")
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              describe "when assigning values" do
         
     | 
| 
      
 33 
     | 
    
         
            +
                it "should update its values" do
         
     | 
| 
      
 34 
     | 
    
         
            +
                  text = %{// @name Masthead Background Image
         
     | 
| 
      
 35 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 36 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 37 
     | 
    
         
            +
            $mbc2: "http://someurl.com/image.jpg";}
         
     | 
| 
      
 38 
     | 
    
         
            +
                  @s = ActiveText::Base.new(text)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  @s.mbc2.value = %Q("Another URL")
         
     | 
| 
      
 40 
     | 
    
         
            +
                  @s.mbc2.value.should == %Q("Another URL")
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  rendered_text = @s.render
         
     | 
| 
      
 43 
     | 
    
         
            +
                  rendered_text.should_not match(/http:\/\/someurl\.com\/image\.jpg/)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  rendered_text.should match(/\$mbc2: "Another URL";/)
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  @s.mbc2.value = %Q("Some third URL")
         
     | 
| 
      
 47 
     | 
    
         
            +
                  @s.mbc2.value.should == %Q("Some third URL")
         
     | 
| 
      
 48 
     | 
    
         
            +
                  rendered_text = @s.render
         
     | 
| 
      
 49 
     | 
    
         
            +
                  rendered_text.should_not match(/\$mbc2: "Another URL";/)
         
     | 
| 
      
 50 
     | 
    
         
            +
                  rendered_text.should match(/\$mbc2: "Some third URL";/)
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                it "should render the correct values" do
         
     | 
| 
      
 54 
     | 
    
         
            +
                  text_old = %{// @name Masthead Background Image
         
     | 
| 
      
 55 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 56 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 57 
     | 
    
         
            +
            $mbc2: "http://someurl.com/image.jpg";}
         
     | 
| 
      
 58 
     | 
    
         
            +
                  text_new = %{// @name Masthead Background Image
         
     | 
| 
      
 59 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 60 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 61 
     | 
    
         
            +
            $mbc2: "Another URL";}
         
     | 
| 
      
 62 
     | 
    
         
            +
                  @s = ActiveText::Base.new(text_old)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  @s.mbc2.value = %Q("Another URL")
         
     | 
| 
      
 64 
     | 
    
         
            +
                  @s.render.should == text_new
         
     | 
| 
      
 65 
     | 
    
         
            +
                end
         
     | 
| 
      
 66 
     | 
    
         
            +
              end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
              describe "when there's no metadata" do
         
     | 
| 
      
 69 
     | 
    
         
            +
                it "should not allow reading of data" do
         
     | 
| 
      
 70 
     | 
    
         
            +
                  text = %{// @name Masthead Background Image
         
     | 
| 
      
 71 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 72 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 73 
     | 
    
         
            +
            $mbc2: "http://someurl.com/image.jpg";
         
     | 
| 
      
 74 
     | 
    
         
            +
            $mbc: #555;}
         
     | 
| 
      
 75 
     | 
    
         
            +
                  @s = ActiveText::Base.new(text)
         
     | 
| 
      
 76 
     | 
    
         
            +
                  @s.mbc.should be_nil
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
              end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
              it "should allow mass assignment" do
         
     | 
| 
      
 81 
     | 
    
         
            +
                text = %{// @name Masthead Background Image
         
     | 
| 
      
 82 
     | 
    
         
            +
            // @kind file
         
     | 
| 
      
 83 
     | 
    
         
            +
            // @description Background image.
         
     | 
| 
      
 84 
     | 
    
         
            +
            $mbc2: "http://someurl.com/image.jpg";
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            // @name Masthead BG Color
         
     | 
| 
      
 87 
     | 
    
         
            +
            // @kind color
         
     | 
| 
      
 88 
     | 
    
         
            +
            // @description Background color.
         
     | 
| 
      
 89 
     | 
    
         
            +
            $mbc: #555;}
         
     | 
| 
      
 90 
     | 
    
         
            +
                @s = ActiveText::Base.new(text)
         
     | 
| 
      
 91 
     | 
    
         
            +
                @s.update_attributes(:mbc2 => %Q("Another URL"), :mbc => nil)
         
     | 
| 
      
 92 
     | 
    
         
            +
                @s.mbc2.value.should == %Q("Another URL")
         
     | 
| 
      
 93 
     | 
    
         
            +
                @s.mbc.value.should == "#555"
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/spec_helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
         
     | 
| 
      
 2 
     | 
    
         
            +
            $LOAD_PATH.unshift(File.dirname(__FILE__))
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'rspec'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'active_text'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            # Requires supporting files with custom matchers and macros, etc,
         
     | 
| 
      
 7 
     | 
    
         
            +
            # in ./support/ and its subdirectories.
         
     | 
| 
      
 8 
     | 
    
         
            +
            Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            RSpec.configure do |config|
         
     | 
| 
      
 11 
     | 
    
         
            +
              
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: active_text
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 27
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 0
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Ramon Tayag
         
     | 
| 
         @@ -23,7 +23,7 @@ dependencies: 
     | 
|
| 
       23 
23 
     | 
    
         
             
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
       24 
24 
     | 
    
         
             
                none: false
         
     | 
| 
       25 
25 
     | 
    
         
             
                requirements: 
         
     | 
| 
       26 
     | 
    
         
            -
                - - " 
     | 
| 
      
 26 
     | 
    
         
            +
                - - "="
         
     | 
| 
       27 
27 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       28 
28 
     | 
    
         
             
                    hash: 3
         
     | 
| 
       29 
29 
     | 
    
         
             
                    segments: 
         
     | 
| 
         @@ -80,7 +80,21 @@ dependencies: 
     | 
|
| 
       80 
80 
     | 
    
         
             
              name: rcov
         
     | 
| 
       81 
81 
     | 
    
         
             
              version_requirements: *id004
         
     | 
| 
       82 
82 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
      
 83 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 84 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 85 
     | 
    
         
            +
              requirement: &id005 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 86 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 87 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 88 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 89 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 90 
     | 
    
         
            +
                    hash: 3
         
     | 
| 
      
 91 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 92 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 93 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 94 
     | 
    
         
            +
              name: autotest
         
     | 
| 
      
 95 
     | 
    
         
            +
              version_requirements: *id005
         
     | 
| 
      
 96 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 97 
     | 
    
         
            +
            description: Aims to be able to read and replace "variables" in text in an active record manner. I don't claim that it behaves exactly like ActiveRecord - that is a much more complex beast than this will ever be.
         
     | 
| 
       84 
98 
     | 
    
         
             
            email: ramon@tayag.net
         
     | 
| 
       85 
99 
     | 
    
         
             
            executables: []
         
     | 
| 
       86 
100 
     | 
    
         | 
| 
         @@ -91,6 +105,8 @@ extra_rdoc_files: 
     | 
|
| 
       91 
105 
     | 
    
         
             
            - README.textile
         
     | 
| 
       92 
106 
     | 
    
         
             
            files: 
         
     | 
| 
       93 
107 
     | 
    
         
             
            - .document
         
     | 
| 
      
 108 
     | 
    
         
            +
            - .rspec
         
     | 
| 
      
 109 
     | 
    
         
            +
            - .rvmrc
         
     | 
| 
       94 
110 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       95 
111 
     | 
    
         
             
            - Gemfile.lock
         
     | 
| 
       96 
112 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
         @@ -99,8 +115,12 @@ files: 
     | 
|
| 
       99 
115 
     | 
    
         
             
            - VERSION
         
     | 
| 
       100 
116 
     | 
    
         
             
            - active_text.gemspec
         
     | 
| 
       101 
117 
     | 
    
         
             
            - lib/active_text.rb
         
     | 
| 
      
 118 
     | 
    
         
            +
            - lib/active_text/base.rb
         
     | 
| 
      
 119 
     | 
    
         
            +
            - lib/active_text/variable.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            - spec/active_text_spec.rb
         
     | 
| 
      
 121 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     | 
| 
       102 
122 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       103 
     | 
    
         
            -
            homepage: http://github.com/ 
     | 
| 
      
 123 
     | 
    
         
            +
            homepage: http://github.com/ramontayag/active_text
         
     | 
| 
       104 
124 
     | 
    
         
             
            licenses: 
         
     | 
| 
       105 
125 
     | 
    
         
             
            - MIT
         
     | 
| 
       106 
126 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
         @@ -132,6 +152,7 @@ rubyforge_project: 
     | 
|
| 
       132 
152 
     | 
    
         
             
            rubygems_version: 1.6.2
         
     | 
| 
       133 
153 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       134 
154 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       135 
     | 
    
         
            -
            summary: "ActiveText : Text as ActiveRecord :  
     | 
| 
       136 
     | 
    
         
            -
            test_files:  
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
      
 155 
     | 
    
         
            +
            summary: "ActiveText : Text as ActiveRecord : Records. Sort of."
         
     | 
| 
      
 156 
     | 
    
         
            +
            test_files: 
         
     | 
| 
      
 157 
     | 
    
         
            +
            - spec/active_text_spec.rb
         
     | 
| 
      
 158 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     |