Module: Thor::Actions

Instance Method Summary collapse

Instance Method Details

#append_code_to_file(file_name, code) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/flavor_gem/util.rb', line 42

def append_code_to_file(file_name, code)
  if File.exist? file_name
    if file_include_code?(file_name, code)
      puts "#{file_name} already has the content"
      return false
    else
      append_to_file file_name, code
    end
  else
    create_file file_name, code
  end
end

#append_template_to_file(file_name, template) ⇒ Object



55
56
57
58
# File 'lib/flavor_gem/util.rb', line 55

def append_template_to_file(file_name, template)
  code = template_content template
  append_code_to_file file_name, code
end

#file_include_code?(file_name, code) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
# File 'lib/flavor_gem/util.rb', line 24

def file_include_code?(file_name, code)
  file = File.read file_name
  file = normalize_code file
  code = normalize_code code
  file.include? code
end

#file_include_template?(file_name, template) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
# File 'lib/flavor_gem/util.rb', line 16

def file_include_template?(file_name, template)
  file = File.read file_name
  template = template_content template
  file = normalize_code file
  template = normalize_code template
  file.include? template
end

#format_quote_to_file(code, file_name) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/flavor_gem/util.rb', line 31

def format_quote_to_file(code, file_name)
  file = File.read file_name
  double_quote_count = file.count '"'
  single_quote_count = file.count "'"
  if single_quote_count > double_quote_count
    code.tr '"', "'"
  else
    code.tr "'", '"'
  end
end

#gem_class_nameObject



72
73
74
# File 'lib/flavor_gem/util.rb', line 72

def gem_class_name
  gem_name.split("_").map(&:capitalize).join
end

#gem_nameObject



68
69
70
# File 'lib/flavor_gem/util.rb', line 68

def gem_name
  File.basename Dir.getwd
end

#normalize_code(code) ⇒ Object



12
13
14
# File 'lib/flavor_gem/util.rb', line 12

def normalize_code(code)
  code.gsub(/\s+/, " ").tr('"', "'").strip
end

#template_content(template_name) ⇒ Object



64
65
66
# File 'lib/flavor_gem/util.rb', line 64

def template_content(template_name)
  File.read template_file_name(template_name)
end

#template_file_name(template) ⇒ Object



60
61
62
# File 'lib/flavor_gem/util.rb', line 60

def template_file_name(template)
  File.expand_path("../../../template/#{template}", __FILE__)
end