data_sanity 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ module DataSanity
6
6
  attr_accessor :all, :random, :criteria, :models, :records_per_model
7
7
 
8
8
  def initialize options = {}
9
- options[:validate] == :random ? @random = true : @all = true
9
+ options[:validate] == "random" ? @random = true : @all = true
10
10
  @records_per_model = options[:records_per_model] || CONSIDERED_RECORDS
11
11
  @models = load_models
12
12
  file_path = "#{Rails.root}/config/data_sanity_criteria.yml"
@@ -3,16 +3,14 @@ namespace :data_sanity do
3
3
  desc 'Create data inspector model for data sanity results'
4
4
  task :migrate => :environment do
5
5
  Dir.chdir("#{Rails.root}") do
6
- system "rails g migration create_data_inspector"
7
- system "rails g migration add_columns_to_data_inspector table_name:string table_primary_key:string primary_key_value:string validation_errors:text"
6
+ system "rails generate model DataInspector table_name:string table_primary_key:string primary_key_value:string validation_errors:text"
8
7
  end
9
8
  end
10
9
 
11
10
  desc 'Destroy data inspector model for data sanity results'
12
- task :rollback do
11
+ task :rollback => :environment do
13
12
  Dir.chdir("#{Rails.root}") do
14
- system "rails destroy migration add_columns_to_data_inspector"
15
- system "rails destroy migration create_data_inspector"
13
+ system "rails destroy model DataInspector"
16
14
  end
17
15
  end
18
16
  end
@@ -23,4 +21,9 @@ namespace :data_sanity do
23
21
  system "cp #{SOURCE_PATH}/data_sanity/templates/data_sanity_criteria.yml #{Rails.root}/config/."
24
22
  end
25
23
  end
24
+
25
+ desc 'Data Sanity run investigation'
26
+ task :investigate, :validate, :records_per_model do |t, args|
27
+ DataSanity::Inspector.new(args).investigate
28
+ end
26
29
  end
@@ -1,3 +1,3 @@
1
1
  module DataSanity
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
data/lib/data_sanity.rb CHANGED
@@ -4,5 +4,4 @@ SOURCE_PATH = File.dirname(__FILE__)
4
4
 
5
5
  require SOURCE_PATH + "/data_sanity/inspector"
6
6
  require SOURCE_PATH + "/data_sanity/railtie"
7
- require SOURCE_PATH + "/data_sanity/models/data_inspector"
8
7
  require SOURCE_PATH + "/data_sanity/version"
@@ -11,14 +11,14 @@ describe "DataSanity::Inspector" do
11
11
  end
12
12
 
13
13
  it "should set random switch, populate default records_per_model and populate all models of the applications" do
14
- inspector = DataSanity::Inspector.new :validate => :random
14
+ inspector = DataSanity::Inspector.new :validate => "random"
15
15
  inspector.random.should be_true
16
16
  inspector.records_per_model.should == 1
17
17
  inspector.models.should == ["Car", "Person"]
18
18
  end
19
19
 
20
20
  it "should set random switch, populate records_per_model and populate all models of the applications" do
21
- inspector = DataSanity::Inspector.new :validate => :random, :records_per_model => 5
21
+ inspector = DataSanity::Inspector.new :validate => "random", :records_per_model => 5
22
22
  inspector.random.should be_true
23
23
  inspector.records_per_model.should == 5
24
24
  inspector.models.should == ["Car", "Person"]
@@ -58,13 +58,13 @@ describe "DataSanity::Inspector" do
58
58
 
59
59
  describe "random" do
60
60
  it "should check for models with no data" do
61
- inspector = DataSanity::Inspector.new :validate => :random
61
+ inspector = DataSanity::Inspector.new :validate => "random"
62
62
  inspector.investigate
63
63
  DataInspector.count.should == 0
64
64
  end
65
65
 
66
66
  it "should check for errors on the model and populate fields in DataInspector" do
67
- inspector = DataSanity::Inspector.new(:validate => :random, :records_per_model => 2)
67
+ inspector = DataSanity::Inspector.new(:validate => "random", :records_per_model => 2)
68
68
 
69
69
  Person.new(:name => "InValid-Record").save(:validate => false)
70
70
  Person.new(:name => "UnderAge", :age => 1).save(:validate => false)
@@ -81,13 +81,13 @@ describe "DataSanity::Inspector" do
81
81
  end
82
82
 
83
83
  it "should check for models with no data" do
84
- inspector = DataSanity::Inspector.new :validate => :random
84
+ inspector = DataSanity::Inspector.new :validate => "random"
85
85
  inspector.investigate
86
86
  DataInspector.count.should == 0
87
87
  end
88
88
 
89
89
  it "should check for errors on model based on criteria picked from data_sanity_criteria.yml" do
90
- inspector = DataSanity::Inspector.new(:validate => :random)
90
+ inspector = DataSanity::Inspector.new(:validate => "random")
91
91
 
92
92
  2.times { Person.new(:name => "Raju").save(:validate => false) }
93
93
  2.times { Person.new(:name => "Saju").save(:validate => false) }
@@ -103,7 +103,7 @@ describe "DataSanity::Inspector" do
103
103
 
104
104
  it "should check all distinct values of field for which a criteria exists" do
105
105
  update_data_sanity_criteria("Car:\n make")
106
- inspector = DataSanity::Inspector.new(:validate => :random)
106
+ inspector = DataSanity::Inspector.new(:validate => "random")
107
107
 
108
108
  5.times { |i| Car.new(:name => "Car Name#{i}", :make => "Brand1").save(:validate => false) }
109
109
  5.times { |i| Car.new(:name => "Car Name#{i}", :make => "Brand2").save(:validate => false) }
@@ -1,5 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
3
  gem 'rails', '3.0.6'
4
+ gem 'rake', '0.8.7'
4
5
  gem 'sqlite3'
5
6
  gem 'data_sanity', :path => "~/data_sanity"
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended to check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(:version => 20111205065701) do
13
+ ActiveRecord::Schema.define(:version => 20111205042538) do
14
14
 
15
15
  create_table "cars", :force => true do |t|
16
16
  t.string "name"
@@ -21,15 +21,6 @@ ActiveRecord::Schema.define(:version => 20111205065701) do
21
21
  t.datetime "updated_at"
22
22
  end
23
23
 
24
- create_table "data_inspectors", :force => true do |t|
25
- t.string "table_name"
26
- t.string "table_primary_key"
27
- t.string "primary_key_value"
28
- t.text "validation_errors"
29
- t.datetime "created_at"
30
- t.datetime "updated_at"
31
- end
32
-
33
24
  create_table "people", :force => true do |t|
34
25
  t.string "name"
35
26
  t.integer "age"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_sanity
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 8
10
- version: 0.0.8
9
+ - 9
10
+ version: 0.0.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Habibullah, Rahul, Jigyasa, Jyotsna, Hephzibah, Garima
@@ -95,13 +95,11 @@ files:
95
95
  - data_sanity.gemspec
96
96
  - lib/data_sanity.rb
97
97
  - lib/data_sanity/inspector.rb
98
- - lib/data_sanity/models/data_inspector.rb
99
98
  - lib/data_sanity/railtie.rb
100
99
  - lib/data_sanity/tasks.rb
101
100
  - lib/data_sanity/templates/data_sanity_criteria.yml
102
101
  - lib/data_sanity/version.rb
103
102
  - spec/data_sanity/inspector_spec.rb
104
- - spec/data_sanity/models/data_inspector_spec.rb
105
103
  - spec/spec_helper.rb
106
104
  - spec/support/helper.rb
107
105
  - spec/support/sample_app/.gitignore
@@ -186,7 +184,6 @@ specification_version: 3
186
184
  summary: Gem for checking data sanity
187
185
  test_files:
188
186
  - spec/data_sanity/inspector_spec.rb
189
- - spec/data_sanity/models/data_inspector_spec.rb
190
187
  - spec/spec_helper.rb
191
188
  - spec/support/helper.rb
192
189
  - spec/support/sample_app/.gitignore
@@ -1,4 +0,0 @@
1
- require 'active_record'
2
-
3
- class DataInspector < ActiveRecord::Base
4
- end
@@ -1,6 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- describe "DataInspector" do
5
-
6
- end