codekindly-utils 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f6954d614031b43b556a00fc14a97c8b9231c351395e5e731df03c3ec7d1916
4
- data.tar.gz: ffe3412f50e4a7ec88b8116c71321723c5ee9c49f3107da981893e02ec686277
3
+ metadata.gz: de743298584863f0a05beb75a2e377f73209b84951eb1995efc9b71b5ad282c3
4
+ data.tar.gz: 4ed210e67d01db161e0ba4d29a968d222647a7d212038919404fe55f0674e335
5
5
  SHA512:
6
- metadata.gz: 9adc5676084f2dcb711692216100e974bd09646c0215f48adb25303a291ccdd0701596a842a09a2e0e873f25551f9517762b3416ea498af42dbe3eaa9539261f
7
- data.tar.gz: 0ebdb883c3f587cf3b6e099aab38217e64f5b073979867cbcfa3df295441e25f62e214ef99572cda0564ae9fdfaaa29cc87c0b97f463400a753ff6ec06498ea8
6
+ metadata.gz: bd7f19cc3518d36dc8f72f77f23f39007beba9626e454120468218677d5f0ef3d9a1d978a0ebafaf394500f5435907a1cb641f179b83583ec596d2bd639231c3
7
+ data.tar.gz: 59ffc1c1438ce65409b394f4d400a024b8f37cafd403081e22f088d9add2edaabe381cf2833cdc0fabff91b55a765720f0f0c6f5bf8fca2c2ef84212b4d2b569
@@ -34,9 +34,18 @@ module CodeKindly
34
34
  configs[name || default_name]
35
35
  end
36
36
 
37
+ # rubocop:disable Security/YAMLLoad
37
38
  def configs
38
39
  @configs ||= ::ActiveRecord::Base.configurations
40
+ return @configs unless @configs == {}
41
+ return @configs unless RAILS.respond_to?(:root)
42
+
43
+ file = RAILS.root.join('config', 'database.yml')
44
+ return @configs unless ::File.readable?(file)
45
+
46
+ @configs = YAML.load(::File.read(file))
39
47
  end
48
+ # rubocop:enable Security/YAMLLoad
40
49
 
41
50
  def configurations
42
51
  deprecate :configurations, :configs, :'0.1.0'
@@ -61,6 +70,7 @@ module CodeKindly
61
70
  return false if klass.abstract_class
62
71
  return false if klass.name =~ /ActiveRecord::/
63
72
  return false if Presence.blank?(klass.name)
73
+
64
74
  true
65
75
  rescue NoMethodError
66
76
  false
@@ -70,23 +80,14 @@ module CodeKindly
70
80
  @default_name ||= RAILS.try(:env) || configs.keys.first || 'default'
71
81
  end
72
82
 
73
- # rubocop:disable Metrics/AbcSize
74
83
  def find_classes
75
- if RAILS.try(:env).try(:development?)
76
- model_files = RAILS.root.join('app', 'models').to_s + '/**/*.rb'
77
- ::Dir.glob(model_files) do |f|
78
- klass = ::File.basename(f, '.rb').classify
79
- next if Kernel.const_defined? klass
80
-
81
- require f
82
- end
83
- end
84
+ load_classes_in_development
84
85
  ObjectSpace.each_object(Class).select do |klass|
85
86
  application_active_record_class?(klass)
86
87
  end.sort_by(&:name)
87
88
  end
88
89
 
89
- def find_classes_by_connection
90
+ def find_classes_by_connection # rubocop:disable Metrics/AbcSize
90
91
  sets = {}.with_indifferent_access
91
92
  find_classes.each do |klass|
92
93
  config_name = configs.keys.select do |k|
@@ -98,7 +99,18 @@ module CodeKindly
98
99
  end
99
100
  sets
100
101
  end
101
- # rubocop:enable Metrics/AbcSize
102
+
103
+ def load_classes_in_development
104
+ return unless RAILS.try(:env).try(:development?)
105
+
106
+ model_files = RAILS.root.join('app', 'models').to_s + '/**/*.rb'
107
+ ::Dir.glob(model_files) do |f|
108
+ klass = ::File.basename(f, '.rb').classify
109
+ next if Kernel.const_defined? klass
110
+
111
+ require f
112
+ end
113
+ end
102
114
  end
103
115
  end
104
116
  end
@@ -15,10 +15,12 @@ module CodeKindly
15
15
  h_l ||= HighLine.new
16
16
  file_opts = file_options(dir_path)
17
17
  return nil if blank? file_opts
18
+
18
19
  msg = file_opts.inject('') { |(k, v), m| m + "\n #{k}: #{v}" }
19
20
  option = h_l.ask("Select a file:#{msg}\n 0: None", Integer)
20
21
  file_path = file_opts.fetch(option, nil)
21
22
  return if file_path.nil?
23
+
22
24
  ::File.join(dir_path, file_path)
23
25
  end
24
26
 
@@ -40,13 +42,17 @@ module CodeKindly
40
42
  # move to trash (or delete) existing downloaded files
41
43
  # sudo gem install osx-trash (http://www.dribin.org/dave/blog/archives/2008/05/24/osx_trash/)
42
44
  def trash!(file_string)
43
- Kernel.system(command_to_trash_files(file_string))
45
+ command = command_to_trash_files(file_string)
46
+ return if command.nil?
47
+
48
+ Kernel.system(command)
44
49
  end
45
50
 
46
51
  private
47
52
 
48
53
  def command_to_trash_files(file_string)
49
54
  return if Command.run("ls #{file_string}").result.nil?
55
+
50
56
  trash = OS.which('trash')
51
57
  if trash then "#{trash.chomp} #{file_string}"
52
58
  elsif ::File.directory?('~/.Trash') then "mv #{file_string} ~/.Trash"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module CodeKindly
4
4
  module Utils
5
- VERSION = '0.0.11'.freeze
5
+ VERSION = '0.0.12'.freeze
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codekindly-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Weathers