blazy 0.1.1

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.
@@ -0,0 +1,41 @@
1
+ == Description
2
+
3
+ Blazy read as be_lazy is a handy extension to active record models meant to be used in script/console
4
+
5
+ == Install
6
+
7
+ Install the gem with:
8
+
9
+ sudo gem install blazy #Note: If you are using rvm to manage ruby versions don't use sudo
10
+
11
+ == Usage
12
+
13
+ Go to script/console in your rails project and type
14
+
15
+ require 'blazy'
16
+
17
+ you are ready to go!!
18
+
19
+ == Examples
20
+
21
+ If you have a model Project.
22
+
23
+ 1.project or 2.projects to list projects
24
+
25
+ Project-11 to get project with id 11
26
+
27
+ == Work in progress
28
+
29
+ Searching a project as
30
+
31
+ Project.with_name('blazy') or 5.projects.with_name_like('%zy')
32
+
33
+ Chaining
34
+
35
+ 5.projects.with_priority(3..5).not_completed
36
+
37
+ == Other useful gems in script/console
38
+
39
+ Wirble
40
+
41
+ Hirb
@@ -0,0 +1,64 @@
1
+ require "rubygems"
2
+ require "rake/gempackagetask"
3
+ require "rake/rdoctask"
4
+ require "spec"
5
+ require "spec/rake/spectask"
6
+
7
+ Spec::Rake::SpecTask.new do |t|
8
+ t.spec_opts = %w(--format specdoc --colour)
9
+ t.libs = ["spec"]
10
+ end
11
+
12
+ task :default => ["spec"]
13
+
14
+ spec = Gem::Specification.new do |s|
15
+ s.name = "blazy"
16
+ s.version = "0.1.1"
17
+ s.summary = "Provides fluent extension to active record models"
18
+ s.description = "Blazy read as be_lazy is a fluent extension to active record models and meant only to be used in script/console"
19
+ s.author = "Deepak N"
20
+ s.email = "endeep123@gmail.com"
21
+ s.homepage = "http://github.com/endeepak/blazy"
22
+ s.has_rdoc = true
23
+ s.extra_rdoc_files = %w(README.rdoc)
24
+ s.rdoc_options = %w(--main README.rdoc)
25
+ s.files = %w(Rakefile README.rdoc) + Dir.glob("{spec,lib/**/*}")
26
+ s.require_paths = ["lib"]
27
+ s.add_development_dependency('rspec')
28
+ s.add_development_dependency('activerecord')
29
+ s.add_development_dependency('active_support')
30
+ s.add_development_dependency('factory_girl')
31
+ end
32
+
33
+ Rake::GemPackageTask.new(spec) do |pkg|
34
+ pkg.gem_spec = spec
35
+ end
36
+
37
+ desc "Build the gemspec file #{spec.name}.gemspec"
38
+ task :gemspec do
39
+ file = File.dirname(__FILE__) + "/#{spec.name}.gemspec"
40
+ File.open(file, "w") {|f| f << spec.to_ruby }
41
+ end
42
+
43
+ desc "Install the gem locally"
44
+ task :install => :gem do
45
+ sh %{gem install pkg/#{spec.name}-#{spec.version}}
46
+ end
47
+
48
+ desc "Uninstall the gem"
49
+ task :uninstall do
50
+ sh %{gem uninstall #{spec.name}}
51
+ end
52
+
53
+ task :package => :gemspec
54
+
55
+ Rake::RDocTask.new do |rd|
56
+ rd.main = "README.rdoc"
57
+ rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
58
+ rd.rdoc_dir = "rdoc"
59
+ end
60
+
61
+ desc 'Clear out RDoc and generated packages'
62
+ task :clean => [:clobber_rdoc, :clobber_package] do
63
+ rm "#{spec.name}.gemspec"
64
+ end
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'active_record'
3
+ require 'active_support/inflector'
4
+
5
+ require 'extensions/active_model'
6
+ require 'extensions/active_record'
7
+
8
+ Dir.glob(File.join(RAILS_ROOT,'app','models','**','*.rb')).each { |file| require_dependency file } if defined?(RAILS_ROOT)
@@ -0,0 +1,15 @@
1
+ module Blazy
2
+ module ActiveModel
3
+ def self.included(klass)
4
+ klass.extend ClassMethods
5
+ end
6
+
7
+ module ClassMethods
8
+ def -(id)
9
+ self.find(id)
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ ActiveRecord::Base.send(:include, Blazy::ActiveModel)
@@ -0,0 +1,3 @@
1
+ require File.dirname(__FILE__) + '/active_record/fixnum'
2
+
3
+ ActiveRecord::Base.send(:include, Blazy::Extensions::ActiveRecord::Fixnum)
@@ -0,0 +1,35 @@
1
+ module Blazy
2
+ module Extensions
3
+ module ActiveRecord
4
+ module Fixnum
5
+ def self.included(klass)
6
+ klass.extend ClassMethods
7
+ klass.send(:subclasses).each {|subclass| subclass.add_extension_to_fixnum}
8
+ end
9
+
10
+ module ClassMethods
11
+ def inherited(klass)
12
+ klass.add_extension_to_fixnum
13
+ super
14
+ end
15
+
16
+ def add_extension_to_fixnum
17
+ underscored_model_name = self.name.demodulize.underscore
18
+ pluralized_underscored_model_name = underscored_model_name.pluralize
19
+ definition = <<-METHOD_DEFINITION
20
+ class ::Fixnum
21
+ def #{underscored_model_name}
22
+ record_to_find = self==1 ? :first : :all
23
+ #{self}.find(record_to_find, :limit => self)
24
+ end
25
+ alias #{pluralized_underscored_model_name} #{underscored_model_name}
26
+ end
27
+ METHOD_DEFINITION
28
+ eval(definition)
29
+ end
30
+ end
31
+ end
32
+
33
+ end
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: blazy
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Deepak N
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-10-04 00:00:00 +05:30
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: activerecord
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: active_support
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :development
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: factory_girl
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ type: :development
76
+ version_requirements: *id004
77
+ description: Blazy read as be_lazy is a fluent extension to active record models and meant only to be used in script/console
78
+ email: endeep123@gmail.com
79
+ executables: []
80
+
81
+ extensions: []
82
+
83
+ extra_rdoc_files:
84
+ - README.rdoc
85
+ files:
86
+ - Rakefile
87
+ - README.rdoc
88
+ - lib/blazy.rb
89
+ - lib/extensions/active_model.rb
90
+ - lib/extensions/active_record/fixnum.rb
91
+ - lib/extensions/active_record.rb
92
+ has_rdoc: true
93
+ homepage: http://github.com/endeepak/blazy
94
+ licenses: []
95
+
96
+ post_install_message:
97
+ rdoc_options:
98
+ - --main
99
+ - README.rdoc
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 3
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ requirements: []
121
+
122
+ rubyforge_project:
123
+ rubygems_version: 1.3.7
124
+ signing_key:
125
+ specification_version: 3
126
+ summary: Provides fluent extension to active record models
127
+ test_files: []
128
+