Sha256: 732c1b8cb7a7d0252d37ab208524ed1ed5c20401cb19889455721281668be182

Contents?: true

Size: 762 Bytes

Versions: 11

Compression:

Stored size: 762 Bytes

Contents

class Jeweler

  class GemSpecHelper

    attr_accessor :spec, :base_dir

    def initialize(spec, base_dir = nil)
      self.spec = spec
      self.base_dir = base_dir || ''

      yield spec if block_given?
    end

    def valid?
      begin
        parse
        true
      rescue
        false
      end
    end
    
    def write
      File.open(path, 'w') do |f|
        f.write @spec.to_ruby
      end 
    end

    def path
      denormalized_path = File.join(@base_dir, "#{@spec.name}.gemspec")
      absolute_path = File.expand_path(denormalized_path)
      absolute_path.gsub(Dir.getwd + File::SEPARATOR, '') 
    end

    def parse
      data = File.read(path)
      Thread.new { eval("$SAFE = 3\n#{data}", binding, path) }.join 
    end

  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
mattknox-jeweler-0.7.0 lib/jeweler/gemspec.rb
namelessjon-jeweler-0.6.5 lib/jeweler/gemspec.rb
namelessjon-jeweler-0.7.2 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.6.3 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.6.4 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.6.5 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.7.0 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.7.1 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.7.2 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.8.0 lib/jeweler/gemspec.rb
technicalpickles-jeweler-0.8.1 lib/jeweler/gemspec.rb