module GoonModelGen::Templates::DSL
Constants
- PARTITION_PATTERNS
Public Instance Methods
dependencies()
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 8 def dependencies @dependencies ||= {} end
import(alias_or_package, package_or_nil = nil)
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 12 def import(alias_or_package, package_or_nil = nil) package_path = package_or_nil || alias_or_package new_alias = package_or_nil ? alias_or_package.to_s : nil package_path = package_path.path if package_path.respond_to?(:path) package_path = package_alias_map[package_path] return if package_path.blank? if dependencies.key?(package_path) old_alias = dependencies[package_path] raise "Conflict alias #{old_alias.inspect} and #{new_alias.inspect}" if old_alias != new_alias end dependencies[package_path] ||= new_alias end
partition(paths)
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 44 def partition(paths) groups = paths.group_by do |path| PARTITION_PATTERNS.index{|ptn| ptn =~ path} || PARTITION_PATTERNS.length end groups.keys.sort.map{|k| groups[k].sort } end
partitioned_imports(except: [])
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 25 def partitioned_imports(except: []) pkg_paths = dependencies.keys - except import_contents = partition(pkg_paths).map do |group| group.map do |path| ailas_name = dependencies[path] ailas_name ? "\t#{ailas_name} \"#{path}\"" : "\t\"#{path}\"" end.join("\n") end import_contents.empty? ? '' : "import (\n%s\n)\n" % import_contents.join("\n\n") end
user_editable(value: true)
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 51 def user_editable(value: true) @user_editable = value end
user_editable?()
click to toggle source
# File lib/goon_model_gen/templates/dsl.rb, line 55 def user_editable? @user_editable end