dread 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: a77165535ef81adc9383ec86abd3d758a6bfcaf9
4
- data.tar.gz: 1848ae7e91e5e7427a45a324be68580309cb01d8
3
+ metadata.gz: 1e06797613f10604b7ea856d50664648ae1eb999
4
+ data.tar.gz: 2c377cdc0bd7c79c7db3c765c7e511aa0f48bfff
5
5
  SHA512:
6
- metadata.gz: ccded34bd7a0e0e1ba7bf6d9f8ae9261481b0507573adfd56ac74c5fc060d9dc08b6047b43ce62208c6b5bac35ef94b25ce9530d46a252cde740c84d58c3ed2d
7
- data.tar.gz: 0351b788f4f2396a9bd27f7b18fac50a44786a18fb42963e169bc7a93d3378f248015e496dd5520b6b358f1baeba6068126c4978dee9c4351ca908bb9fb7e71c
6
+ metadata.gz: 8a031041bb4c6bf978d29071140325d4a83c7f67c77b7a734fbd48639a2c36a20ff2f10e7aa0cdeffb824b7118796772bcf3d01c9da11deaebfd3f3501fbdffc
7
+ data.tar.gz: 11e389c525b76b70be42940f196af19db6b7b7c1460f3dda6cb12cbdc237b6bfbe2b933c526ed66b6ec7e4f3315d76b4375ab5f5e9dd04ab393d2927800c6a2e
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_dependency "rails", ">= 3.2.0"
22
+ s.add_dependency "colorize", '0.7.3'
22
23
 
23
24
  s.add_development_dependency "sqlite3"
24
25
  s.add_development_dependency "pry-rails"
@@ -2,7 +2,7 @@ module Dread
2
2
  module ConsoleOutput
3
3
  class << self
4
4
 
5
- INDENT_INCREASE = 3
5
+ INDENT_INCREASE = 4
6
6
 
7
7
  def generate(dependable_collection, indent=0)
8
8
  dependable_collection.each do |relation_name, dependables|
@@ -12,16 +12,17 @@ module Dread
12
12
 
13
13
  # { user: { tweets: { comments: {} }, comments: {}, account_setting: {} } }
14
14
  def dependable_collection
15
- @dependable_collection ||= Hash.new.tap do |relation_hash|
15
+ @dependable_collection ||= { relation_name.to_sym => Hash.new.tap do |relation_hash|
16
16
  @clazz.reflections.each do |assoc_name, assoc_data|
17
17
  if assoc_data.options[:dependent] == :delete
18
18
  relation_hash[assoc_name] = {}
19
19
  elsif assoc_data.options[:dependent] == :destroy
20
- relation_hash[assoc_name] =
21
- Graph.new(assoc_data, assoc_data.macro == :has_many).dependable_collection
20
+ relation_hash.merge!(
21
+ Graph.new(assoc_data, assoc_data.macro == :has_many).dependable_collection)
22
22
  end
23
23
  end
24
24
  end
25
+ }
25
26
  end
26
27
 
27
28
  def draw(output='console_output')
@@ -1,3 +1,3 @@
1
1
  module Dread
2
- VERSION = "0.0.4"
3
- end
2
+ VERSION = "0.0.5"
3
+ end
@@ -1,8 +1,10 @@
1
+ require 'colorize'
2
+ desc 'list destroyable/deletable dependencies of your ActiveRecord class'
1
3
  task dread: :environment do
2
4
  begin
3
5
  dread_graph = Dread::Graph.new(ENV['class'])
4
6
  dread_graph.draw
5
7
  rescue Dread::Error => e
6
- puts e.message
8
+ puts e.message.colorize(:red)
7
9
  end
8
10
  end
@@ -31,8 +31,9 @@ class DreadTest < ActiveSupport::TestCase
31
31
  test 'collecting' do
32
32
  dread_graph = Dread::Graph.new('user')
33
33
  dependable_collection = dread_graph.dependable_collection
34
- dependable_collection.assert_valid_keys(:tweets, :comments, :setting)
35
- dependable_collection[:tweets].assert_valid_keys(:comments)
34
+ dependable_collection.assert_valid_keys(:user)
35
+ dependable_collection[:user].assert_valid_keys(:tweets, :comments, :setting)
36
+ dependable_collection[:user][:tweets].assert_valid_keys(:comments)
36
37
  end
37
38
 
38
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dread
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damir Svrtan
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: colorize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.3
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: sqlite3
29
43
  requirement: !ruby/object:Gem::Requirement