Sha256: 056ce64953a1faa57c2decdf5f668507f66575c725296d5d5778abaf17d51684
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
module Rails3::Assist module File module Methods {:initializer => 'rb', :db => 'rb', :migration => 'rb', :locale => 'yml', :javascript => 'js', :stylesheet => 'css'}.each_pair do |name, ext| plural_name = name.to_s.pluralize pure_ext = ext.gsub /^\./, '' class_eval %{ def #{name}_file? name name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}" ::File.file? #{name}_file(name) end alias_method :has_#{name}_file?, :#{name}_file? def #{name}_files? *names names.to_strings.each do |name| return false if !#{name}_file?(name) end true end def #{name}_file name name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}" ::File.join(Rails3::Assist::Artifact::Directory.#{name}_dir, name) end def create_#{name} name, &block dir_name = Rails3::Assist::Artifact::Directory.#{name}_dir Rails3::Assist::App.create_empty_tmp :#{name} if !::File.directory?(dir_name) ::File.overwrite #{name}_file(name) do yield end end def remove_all_#{plural_name} return if !::File.directory?(Rails3::Assist::Artifact::Directory.#{name}_dir) #{name}_files.each{|f| ::File.delete_file! f} end def remove_#{plural_name} *names return remove_all_#{plural_name} if names.empty? names.to_strings.each do |name| name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}" file_name = #{name}_file(name) ::File.delete(file_name) if ::File.file?(file_name) end end alias_method :remove_#{name}, :remove_#{plural_name} } end end include Methods extend Methods end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails3_assist-0.2.8 | lib/rails3_assist/file.rb |