js-fixtures 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/lib/js_fixtures.rb +26 -0
 - data/lib/js_fixtures/base.rb +66 -0
 - data/lib/js_fixtures/html.rb +65 -0
 - data/lib/js_fixtures/html_s3.rb +34 -0
 - data/lib/js_fixtures/s3_upload.rb +16 -0
 - data/template/html_template.html.erb +19 -0
 - metadata +83 -0
 
    
        data/lib/js_fixtures.rb
    ADDED
    
    | 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            module JsFixtures
         
     | 
| 
      
 3 
     | 
    
         
            +
              PATH = File.join(File.dirname(__FILE__), "js_fixtures")
         
     | 
| 
      
 4 
     | 
    
         
            +
              require "#{PATH}/s3_upload.rb"
         
     | 
| 
      
 5 
     | 
    
         
            +
              require "#{PATH}/base.rb"
         
     | 
| 
      
 6 
     | 
    
         
            +
              require "#{PATH}/html.rb"
         
     | 
| 
      
 7 
     | 
    
         
            +
              require "#{PATH}/html_s3.rb"
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              class << self 
         
     | 
| 
      
 10 
     | 
    
         
            +
                def create(name, config, &block)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  Base.create(name, config, &block)
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                def get_location(name)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  Base.get(name)
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                def generate_all
         
     | 
| 
      
 19 
     | 
    
         
            +
                  Base.generate_all
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                def config(type, &block)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  Base.config(type, &block)
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,66 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module JsFixtures
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Base
         
     | 
| 
      
 3 
     | 
    
         
            +
                @@fixtures = []
         
     | 
| 
      
 4 
     | 
    
         
            +
                @@fixture_types = []
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 7 
     | 
    
         
            +
                  def config(type, &block)
         
     | 
| 
      
 8 
     | 
    
         
            +
                    block.call(get_by_type(type))
         
     | 
| 
      
 9 
     | 
    
         
            +
                  end 
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  def create(name, config, &block)
         
     | 
| 
      
 12 
     | 
    
         
            +
                    if config[:type]
         
     | 
| 
      
 13 
     | 
    
         
            +
                      @@fixtures << create_p(config[:type], name, config)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    elsif config[:parent]
         
     | 
| 
      
 15 
     | 
    
         
            +
                      fixture = get_by_name(config[:parent]).clone(name)
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @@fixtures << fixture 
         
     | 
| 
      
 17 
     | 
    
         
            +
                    else
         
     | 
| 
      
 18 
     | 
    
         
            +
                      raise "need either :parent or :type to create fixture"
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                    block.call(@@fixtures.last)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                  def generate_all
         
     | 
| 
      
 25 
     | 
    
         
            +
                    workers = []
         
     | 
| 
      
 26 
     | 
    
         
            +
                    @@fixtures.flatten.each do |f|
         
     | 
| 
      
 27 
     | 
    
         
            +
                      workers << Thread.new { f.generate() }
         
     | 
| 
      
 28 
     | 
    
         
            +
                    end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                    workers.each { |w| w.join }
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  def get(name)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    get_by_name(name).location
         
     | 
| 
      
 35 
     | 
    
         
            +
                  end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                  private 
         
     | 
| 
      
 38 
     | 
    
         
            +
                  def inherited(subclass)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    @@fixture_types << subclass
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  def create_p(type, *args)
         
     | 
| 
      
 43 
     | 
    
         
            +
                    get_by_type(type).new(*args)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  def get_by_name(name)
         
     | 
| 
      
 47 
     | 
    
         
            +
                    @@fixtures.each do |f|
         
     | 
| 
      
 48 
     | 
    
         
            +
                      return f if f.name == name
         
     | 
| 
      
 49 
     | 
    
         
            +
                    end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                    raise "No Fixture with Name: #{name} found"
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                  def get_by_type(type)
         
     | 
| 
      
 55 
     | 
    
         
            +
                    @@fixture_types.each do |fixture|
         
     | 
| 
      
 56 
     | 
    
         
            +
                      return fixture if fixture.type == type
         
     | 
| 
      
 57 
     | 
    
         
            +
                    end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                    raise "No fixture of type: #{type} found"
         
     | 
| 
      
 60 
     | 
    
         
            +
                  end
         
     | 
| 
      
 61 
     | 
    
         
            +
                end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                attr_reader :location
         
     | 
| 
      
 64 
     | 
    
         
            +
                attr_accessor :name
         
     | 
| 
      
 65 
     | 
    
         
            +
              end
         
     | 
| 
      
 66 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,65 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'erb'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'tmpdir'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module JsFixtures
         
     | 
| 
      
 5 
     | 
    
         
            +
              class HTML < Base
         
     | 
| 
      
 6 
     | 
    
         
            +
                @type = :html
         
     | 
| 
      
 7 
     | 
    
         
            +
                @template = File.join File.dirname(__FILE__), "../../template/html_template.html.erb"
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 10 
     | 
    
         
            +
                  attr_accessor :local_fixture_path
         
     | 
| 
      
 11 
     | 
    
         
            +
                  attr_reader  :type, :template
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  def type
         
     | 
| 
      
 14 
     | 
    
         
            +
                    @type.to_sym
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  def inherited(subclass)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    super
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  def template=(template)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    @template = template
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                attr_accessor :scripts, :pre_scripts, :post_scripts
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                def initialize(name, config)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  @name     =  name
         
     | 
| 
      
 30 
     | 
    
         
            +
                  @scripts  =  config[:scripts]  ||= []
         
     | 
| 
      
 31 
     | 
    
         
            +
                  @pre_scripts =  config[:settings] ||= "" 
         
     | 
| 
      
 32 
     | 
    
         
            +
                  @post_scripts =  config[:post_scripts] ||= "" 
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                  self.class.local_fixture_path ||= Dir.mktmpdir
         
     | 
| 
      
 35 
     | 
    
         
            +
                  @location = "#{self.class.local_fixture_path}/#{@name}.html"
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @local_file = File.expand_path(@location)
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                def generate
         
     | 
| 
      
 40 
     | 
    
         
            +
                  file = File.open(@local_file, 'w')
         
     | 
| 
      
 41 
     | 
    
         
            +
                  file.syswrite(render_template())
         
     | 
| 
      
 42 
     | 
    
         
            +
                  file.close
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                def clone(new_name)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  self.class.new(new_name, 
         
     | 
| 
      
 48 
     | 
    
         
            +
                                 :scripts => @scripts.dup, 
         
     | 
| 
      
 49 
     | 
    
         
            +
                                 :settings => @pre_scripts.dup,
         
     | 
| 
      
 50 
     | 
    
         
            +
                                 :post_scripts => @post_scripts.dup)
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                private 
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                def render_template
         
     | 
| 
      
 56 
     | 
    
         
            +
                  # setup binding 
         
     | 
| 
      
 57 
     | 
    
         
            +
                  name = @name
         
     | 
| 
      
 58 
     | 
    
         
            +
                  pre_scripts = @pre_scripts
         
     | 
| 
      
 59 
     | 
    
         
            +
                  scripts = @scripts
         
     | 
| 
      
 60 
     | 
    
         
            +
                  post_scripts = @post_scripts
         
     | 
| 
      
 61 
     | 
    
         
            +
                  ERB.new(File.read(self.class.template)).result(binding)
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module JsFixtures
         
     | 
| 
      
 2 
     | 
    
         
            +
              class HTMLS3 < HTML
         
     | 
| 
      
 3 
     | 
    
         
            +
                include S3Upload
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                @type = :html_s3 
         
     | 
| 
      
 6 
     | 
    
         
            +
                @template = File.join File.dirname(__FILE__), "../../template/html_template.html.erb"
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 9 
     | 
    
         
            +
                  attr_reader :s3_upload_url, :s3_access_url
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  def s3_path=(s3_path)
         
     | 
| 
      
 12 
     | 
    
         
            +
                    @s3_upload_url = s3_path
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @s3_access_url = "http://#{s3_path.gsub(':', '/')}"
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                def initialize(name, config)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  super
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  # Number of seconds since 1970-01-01 00:00:00 UTC
         
     | 
| 
      
 22 
     | 
    
         
            +
                  # to avoid test collisions from multiple machines
         
     | 
| 
      
 23 
     | 
    
         
            +
                  suffix = Time.now.strftime("%s")
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @filename = "#{@name}-#{suffix}.html"
         
     | 
| 
      
 25 
     | 
    
         
            +
                  @location = "#{self.class.s3_access_url}/#{@filename}"
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                def generate
         
     | 
| 
      
 29 
     | 
    
         
            +
                  puts "Generating Fixture: #{@name}"
         
     | 
| 
      
 30 
     | 
    
         
            +
                  super
         
     | 
| 
      
 31 
     | 
    
         
            +
                  upload_html_file(@local_file, "#{self.class.s3_upload_url}/#{@filename}") 
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            require 'right_aws'
         
     | 
| 
      
 3 
     | 
    
         
            +
            module S3Upload
         
     | 
| 
      
 4 
     | 
    
         
            +
              AWS_KEY        = ENV['AWS_ACCESS_KEY_ID'] || raise("Need to have AWS_ACCESS_KEY set in your env")
         
     | 
| 
      
 5 
     | 
    
         
            +
              AWS_SECRET_KEY = ENV['AWS_SECRET_ACCESS_KEY'] || raise("Need to have AWS_SECRET_ACCESS_KEY set in your env")
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              HTML_HEADERS = {"Content-Type" => "text/html" }
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def upload_html_file(file_path, s3_path)
         
     | 
| 
      
 10 
     | 
    
         
            +
                puts "Uploading from #{file_path} to #{s3_path}"
         
     | 
| 
      
 11 
     | 
    
         
            +
                uploader = RightAws::S3.new(AWS_KEY, AWS_SECRET_KEY)
         
     | 
| 
      
 12 
     | 
    
         
            +
                bucket, key = s3_path.split(":")
         
     | 
| 
      
 13 
     | 
    
         
            +
                bucket = uploader.bucket(bucket)
         
     | 
| 
      
 14 
     | 
    
         
            +
                bucket.put(key, File.read(file_path), {}, "public-read", HTML_HEADERS)
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <!DOCTYPE HTML>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <html>
         
     | 
| 
      
 3 
     | 
    
         
            +
              <head>
         
     | 
| 
      
 4 
     | 
    
         
            +
                <script type="text/javascript">
         
     | 
| 
      
 5 
     | 
    
         
            +
                  <%= pre_scripts  %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                </script>
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                <% scripts.each do |script| %>
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <script type="text/javascript" src="<%=script %>"></script>
         
     | 
| 
      
 10 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                <script type="text/javascript">
         
     | 
| 
      
 13 
     | 
    
         
            +
                  <%= post_scripts %>
         
     | 
| 
      
 14 
     | 
    
         
            +
                </script>
         
     | 
| 
      
 15 
     | 
    
         
            +
              </head>
         
     | 
| 
      
 16 
     | 
    
         
            +
              <body>
         
     | 
| 
      
 17 
     | 
    
         
            +
              </body>
         
     | 
| 
      
 18 
     | 
    
         
            +
            </html>
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,83 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: js-fixtures
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: 
         
     | 
| 
      
 6 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 7 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Joshua Carver
         
     | 
| 
      
 9 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 10 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 11 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2011-10-04 00:00:00.000000000Z
         
     | 
| 
      
 13 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 14 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 15 
     | 
    
         
            +
              name: sinatra
         
     | 
| 
      
 16 
     | 
    
         
            +
              requirement: &2161994340 !ruby/object:Gem::Requirement
         
     | 
| 
      
 17 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 18 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 19 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 21 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 22 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 23 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: *2161994340
         
     | 
| 
      
 25 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 26 
     | 
    
         
            +
              name: right_aws
         
     | 
| 
      
 27 
     | 
    
         
            +
              requirement: &2161993900 !ruby/object:Gem::Requirement
         
     | 
| 
      
 28 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 29 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 30 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 31 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 32 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 33 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 34 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 35 
     | 
    
         
            +
              version_requirements: *2161993900
         
     | 
| 
      
 36 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 37 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 38 
     | 
    
         
            +
              requirement: &2161993480 !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: *2161993480
         
     | 
| 
      
 47 
     | 
    
         
            +
            description: 
         
     | 
| 
      
 48 
     | 
    
         
            +
            email: jcarver989@gmail.com
         
     | 
| 
      
 49 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 50 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 51 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 52 
     | 
    
         
            +
            files:
         
     | 
| 
      
 53 
     | 
    
         
            +
            - lib/js_fixtures/base.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
            - lib/js_fixtures/html.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            - lib/js_fixtures/html_s3.rb
         
     | 
| 
      
 56 
     | 
    
         
            +
            - lib/js_fixtures/s3_upload.rb
         
     | 
| 
      
 57 
     | 
    
         
            +
            - lib/js_fixtures.rb
         
     | 
| 
      
 58 
     | 
    
         
            +
            - template/html_template.html.erb
         
     | 
| 
      
 59 
     | 
    
         
            +
            homepage: 
         
     | 
| 
      
 60 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 61 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 62 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 63 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 64 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 65 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 66 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 67 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 68 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 69 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 70 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 71 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 72 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 73 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 74 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 75 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 76 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 77 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 78 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 79 
     | 
    
         
            +
            rubygems_version: 1.8.6
         
     | 
| 
      
 80 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 81 
     | 
    
         
            +
            specification_version: 3
         
     | 
| 
      
 82 
     | 
    
         
            +
            summary: An easy way to handle your javascript/html fixtures
         
     | 
| 
      
 83 
     | 
    
         
            +
            test_files: []
         
     |