Sha256: 81f792147ee8c9b5856389f5ba9bc9e8689352697a51df48cddeb7c45f2ad4d8
Contents?: true
Size: 1.95 KB
Versions: 3
Compression:
Stored size: 1.95 KB
Contents
# So much was ripped direct from CocoaPods-Core - thanks! require 'danger/dangerfile_dsl' require 'danger/standard_error' module Danger class Dangerfile include Danger::Dangerfile::DSL attr_accessor :env, :warnings, :errors, :messages # @return [Pathname] the path where the Dangerfile was loaded from. It is nil # if the Dangerfile was generated programmatically. # attr_accessor :defined_in_file # @return [String] a string useful to represent the Dangerfile in a message # presented to the user. # def to_s 'Dangerfile' end # Parses the file at a path, optionally takes the content of the file for DI # def parse(path, contents = nil) contents ||= File.open(path, 'r:utf-8', &:read) # Work around for Rubinius incomplete encoding in 1.9 mode if contents.respond_to?(:encoding) && contents.encoding.name != 'UTF-8' contents.encode!('UTF-8') end if contents.tr!('“”‘’‛', %(""''')) # Changes have been made puts "Your #{path.basename} has had smart quotes sanitised. " \ 'To avoid issues in the future, you should not use ' \ 'TextEdit for editing it. If you are not using TextEdit, ' \ 'you should turn off smart quotes in your editor of choice.'.red end if contents.include?("puts") puts "You used `puts` in your Dangerfile. To print out text to GitHub use `message` instead" end self.defined_in_file = path instance_eval do # rubocop:disable Lint/RescueException begin # rubocop:disable Eval eval(contents, nil, path.to_s) # rubocop:enable Eval rescue Exception => e message = "Invalid `#{path.basename}` file: #{e.message}" raise DSLError.new(message, path, e.backtrace, contents) end # rubocop:enable Lint/RescueException end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
danger-0.2.1 | lib/danger/dangerfile.rb |
danger-0.2.0 | lib/danger/dangerfile.rb |
danger-0.1.1 | lib/danger/dangerfile.rb |