ccls-common_lib 1.4.0

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.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +116 -0
  3. data/lib/ccls-common_lib.rb +1 -0
  4. data/lib/common_lib.rb +37 -0
  5. data/lib/common_lib/action_controller_extension.rb +8 -0
  6. data/lib/common_lib/action_controller_extension/accessible_via_protocol.rb +405 -0
  7. data/lib/common_lib/action_controller_extension/accessible_via_user.rb +605 -0
  8. data/lib/common_lib/action_controller_extension/routing.rb +20 -0
  9. data/lib/common_lib/action_controller_extension/test_case.rb +22 -0
  10. data/lib/common_lib/action_view_extension.rb +3 -0
  11. data/lib/common_lib/action_view_extension/base.rb +310 -0
  12. data/lib/common_lib/action_view_extension/form_builder.rb +197 -0
  13. data/lib/common_lib/active_model.rb +4 -0
  14. data/lib/common_lib/active_model/errors.rb +16 -0
  15. data/lib/common_lib/active_model/validations/absence.rb +78 -0
  16. data/lib/common_lib/active_model/validations/complete_date.rb +138 -0
  17. data/lib/common_lib/active_model/validations/past_date.rb +121 -0
  18. data/lib/common_lib/active_record.rb +1 -0
  19. data/lib/common_lib/active_record/base.rb +129 -0
  20. data/lib/common_lib/active_support_extension.rb +12 -0
  21. data/lib/common_lib/active_support_extension/assertions.rb +108 -0
  22. data/lib/common_lib/active_support_extension/associations.rb +154 -0
  23. data/lib/common_lib/active_support_extension/attributes.rb +296 -0
  24. data/lib/common_lib/active_support_extension/pending.rb +115 -0
  25. data/lib/common_lib/active_support_extension/test_case.rb +203 -0
  26. data/lib/common_lib/railtie.rb +48 -0
  27. data/lib/common_lib/ruby.rb +8 -0
  28. data/lib/common_lib/ruby/array.rb +128 -0
  29. data/lib/common_lib/ruby/fixnum.rb +5 -0
  30. data/lib/common_lib/ruby/hash.rb +51 -0
  31. data/lib/common_lib/ruby/integer.rb +11 -0
  32. data/lib/common_lib/ruby/nil_class.rb +13 -0
  33. data/lib/common_lib/ruby/numeric.rb +0 -0
  34. data/lib/common_lib/ruby/object.rb +53 -0
  35. data/lib/common_lib/ruby/string.rb +20 -0
  36. data/lib/common_lib/translation_table.rb +129 -0
  37. data/lib/tasks/common_lib.rake +10 -0
  38. data/lib/tasks/csv.rake +0 -0
  39. data/lib/tasks/database.rake +229 -0
  40. data/lib/tasks/rcov.rake +52 -0
  41. data/vendor/assets/javascripts/common_lib.js +77 -0
  42. data/vendor/assets/stylesheets/common_lib.css +71 -0
  43. metadata +84 -0
@@ -0,0 +1,52 @@
1
+ #
2
+ # This is from Advanced Rails Recipes, page 277
3
+ #
4
+ namespace :test do
5
+
6
+ desc 'Tracks test coverage with rcov'
7
+ task :coverage do
8
+ rm_f "coverage"
9
+ rm_f "coverage.data"
10
+
11
+ unless PLATFORM['i386-mswin32']
12
+ rcov = "rcov --sort coverage --rails --aggregate coverage.data " <<
13
+ "--text-summary -Ilib:test -T "
14
+ # exclusions are ...
15
+ # -x, --exclude PATTERNS Don't generate info for files matching a
16
+ # pattern (comma-separated regexp list)
17
+ exclusions = ['gems/','db/.*schema.rb','db/migrate']
18
+ exclusions += RCOV_EXCLUDES if defined?(RCOV_EXCLUDES)
19
+ puts "Excluding : #{exclusions.join(',')}"
20
+ rcov << "-x #{exclusions.join(',')}"
21
+ # "-x gems/*,db/migrate/*,jrails/*/*"
22
+ # ',\(eval\),\(recognize_optimized\),\(erb\)' << # needed in jruby
23
+ # ",yaml,yaml/*,lib/tmail/parser.y,jruby.jar!/*" << # needed in jruby
24
+ # ",db/*schema.rb"
25
+ # ",html_test/*/*" <<
26
+ # ",html_test_extension/*/*"
27
+ else
28
+ rcov = "rcov.cmd --sort coverage --rails --aggregate " <<
29
+ "coverage.data --text-summary -Ilib -T"
30
+ end
31
+
32
+ dirs = Dir.glob("test/**/*_test.rb").collect{|f|File.dirname(f)}.uniq
33
+ if defined?(@gem_test_dirs) && @gem_test_dirs.is_a?(Array)
34
+ dirs += @gem_test_dirs
35
+ end
36
+ lastdir = dirs.pop
37
+ dirs.each do |dir|
38
+ system("#{rcov} --no-html #{dir}/*_test.rb")
39
+ end
40
+ system("#{rcov} --html #{lastdir}/*_test.rb") unless lastdir.nil?
41
+
42
+ unless PLATFORM['i386-mswin32']
43
+ # jruby-1.5.0.RC1 > PLATFORM
44
+ # => "java"
45
+ # system("open coverage/index.html") if PLATFORM['darwin']
46
+ system("open coverage/index.html")
47
+ else
48
+ system("\"C:/Program Files/Mozilla Firefox/firefox.exe\" " +
49
+ "coverage/index.html")
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,77 @@
1
+ jQuery(function(){
2
+
3
+ /*
4
+ 'clicking' a submit button apparently skips the 'submit' method
5
+ which then skips the destroy confirmation, so we need to explicitly
6
+ catch the click and manually submit to trigger the confirmation.
7
+ */
8
+ jQuery('form.destroy_link_to input[type=submit]').click(function(){
9
+ jQuery(this).parents('form').submit();
10
+ return false;
11
+ });
12
+
13
+ jQuery('form.destroy_link_to').submit(function(){
14
+ var message = "Destroy? Seriously?"
15
+ if( this.confirm && this.confirm.value ) {
16
+ message = this.confirm.value
17
+ }
18
+ if( !confirm(message) ){
19
+ return false;
20
+ }
21
+ });
22
+
23
+ jQuery('p.flash').click(function(){$(this).remove();});
24
+
25
+ if( typeof jQuery('.datepicker').datepicker == 'function' ){
26
+ jQuery('.datepicker').datepicker();
27
+ }
28
+
29
+
30
+ /*
31
+ jQuery('form a.submit.button').siblings('input[type=submit]').hide();
32
+
33
+ jQuery('form a.submit.button').click(function(){
34
+ if( jQuery(this).next('input[type=submit]').length > 0 ){
35
+ jQuery(this).next().click();
36
+ } else {
37
+ jQuery(this).parents('form').submit();
38
+ }
39
+ return false;
40
+ });
41
+ */
42
+
43
+
44
+
45
+ });
46
+
47
+
48
+ jQuery(window).resize(function(){
49
+ resize_text_areas()
50
+ });
51
+
52
+ jQuery(window).load(function(){
53
+ /*
54
+ This MUST be in window/load, not the normal document/ready,
55
+ for Google Chrome to get correct values
56
+ */
57
+ resize_text_areas()
58
+ });
59
+
60
+ function resize_text_areas() {
61
+ /*
62
+ jQuery('textarea.autosize').each(function(){
63
+ */
64
+ jQuery('.autosize').each(function(){
65
+ new_width = $(this).parent().innerWidth() +
66
+ $(this).parent().position().left -
67
+ $(this).position().left -
68
+ parseInt($(this).css('margin-left')) -
69
+ parseInt($(this).css('margin-right')) -
70
+ parseInt($(this).css('padding-left')) -
71
+ parseInt($(this).css('padding-right')) -
72
+ parseInt($(this).css('border-left-width')) -
73
+ parseInt($(this).css('border-right-width') )
74
+ $(this).css('width',new_width-10) /* take 10 more for good measure */
75
+ })
76
+ }
77
+
@@ -0,0 +1,71 @@
1
+ .flash {
2
+ /* http://css-radius.heroku.com */
3
+ -webkit-border-radius: 8px;
4
+ -moz-border-radius: 8px;
5
+ border-radius: 8px;
6
+ padding: 0.7em;
7
+ text-align: center;
8
+ font-weight: bold;
9
+ font-size: 12pt;
10
+ }
11
+ .flash.error,
12
+ .flash#error {
13
+ border: 2px solid #F44;
14
+ background-color: #FCC;
15
+ }
16
+ .flash.warn,
17
+ .flash#warn {
18
+ border: 2px solid #FF6600;
19
+ background-color: #FFCC99;
20
+ }
21
+ .flash.notice,
22
+ .flash#notice {
23
+ border: 2px solid #4F4;
24
+ background-color: #CFC;
25
+ }
26
+ .flash.noscript,
27
+ .flash#noscript {
28
+ border: 2px solid #FF8C00;
29
+ background-color: #FFC5AF;
30
+ }
31
+
32
+ /*
33
+ Make submit buttons and a.button tags look the same.
34
+ This works in Firefox and Chrome. Don't know about IE.
35
+ */
36
+ input[type=submit],
37
+ a.button {
38
+ cursor: pointer;
39
+ /* http://css-radius.heroku.com */
40
+ -webkit-border-radius: 10px;
41
+ -moz-border-radius: 10px;
42
+ border-radius: 10px;
43
+
44
+ font-family: Verdana,Arial,Helvetica,sans-serif;
45
+ font-size: 14px;
46
+ font-weight: normal;
47
+ border: 1px solid gray;
48
+ text-decoration: none;
49
+ padding: 1px 8px;
50
+ color: black;
51
+
52
+ background-color: #DDDDDD;
53
+
54
+ /*
55
+ background or background-image ???
56
+ */
57
+ /* for webkit browsers */
58
+ background: -webkit-gradient(linear, left top, left bottom, from(#EEEEEE), to(#CCCCCC));
59
+ /* for firefox 3.6+ */
60
+ background: -moz-linear-gradient(top, #EEEEEE, #CCCCCC);
61
+ /* for ie , but doesn't seem to work as expected despite other examples working */
62
+ filter: progid:DXImageTransform.Microsoft.gradient(StartColorStr='#EEEEEE', EndColorStr='#CCCCCC');
63
+ }
64
+ /*
65
+ input and a tags use different box-sizing so need to set
66
+ different paddings so that they appear the same.
67
+ This particular difference is caused by the 1px border.
68
+ */
69
+ input[type=submit] {
70
+ padding: 0px 8px;
71
+ }
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ccls-common_lib
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.0
5
+ platform: ruby
6
+ authors:
7
+ - George 'Jake' Wendt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: CCLS Common Lib gem
14
+ email: github@jakewendt.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files:
18
+ - README.rdoc
19
+ files:
20
+ - lib/ccls-common_lib.rb
21
+ - lib/common_lib.rb
22
+ - lib/common_lib/action_controller_extension.rb
23
+ - lib/common_lib/action_controller_extension/accessible_via_protocol.rb
24
+ - lib/common_lib/action_controller_extension/accessible_via_user.rb
25
+ - lib/common_lib/action_controller_extension/routing.rb
26
+ - lib/common_lib/action_controller_extension/test_case.rb
27
+ - lib/common_lib/action_view_extension.rb
28
+ - lib/common_lib/action_view_extension/base.rb
29
+ - lib/common_lib/action_view_extension/form_builder.rb
30
+ - lib/common_lib/active_model.rb
31
+ - lib/common_lib/active_model/errors.rb
32
+ - lib/common_lib/active_model/validations/absence.rb
33
+ - lib/common_lib/active_model/validations/complete_date.rb
34
+ - lib/common_lib/active_model/validations/past_date.rb
35
+ - lib/common_lib/active_record.rb
36
+ - lib/common_lib/active_record/base.rb
37
+ - lib/common_lib/active_support_extension.rb
38
+ - lib/common_lib/active_support_extension/assertions.rb
39
+ - lib/common_lib/active_support_extension/associations.rb
40
+ - lib/common_lib/active_support_extension/attributes.rb
41
+ - lib/common_lib/active_support_extension/pending.rb
42
+ - lib/common_lib/active_support_extension/test_case.rb
43
+ - lib/common_lib/railtie.rb
44
+ - lib/common_lib/ruby.rb
45
+ - lib/common_lib/ruby/array.rb
46
+ - lib/common_lib/ruby/fixnum.rb
47
+ - lib/common_lib/ruby/hash.rb
48
+ - lib/common_lib/ruby/integer.rb
49
+ - lib/common_lib/ruby/nil_class.rb
50
+ - lib/common_lib/ruby/numeric.rb
51
+ - lib/common_lib/ruby/object.rb
52
+ - lib/common_lib/ruby/string.rb
53
+ - lib/common_lib/translation_table.rb
54
+ - lib/tasks/common_lib.rake
55
+ - lib/tasks/csv.rake
56
+ - lib/tasks/database.rake
57
+ - lib/tasks/rcov.rake
58
+ - vendor/assets/javascripts/common_lib.js
59
+ - vendor/assets/stylesheets/common_lib.css
60
+ - README.rdoc
61
+ homepage: http://github.com/ccls/common_lib
62
+ licenses: []
63
+ metadata: {}
64
+ post_install_message:
65
+ rdoc_options: []
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ requirements: []
79
+ rubyforge_project:
80
+ rubygems_version: 2.0.14
81
+ signing_key:
82
+ specification_version: 4
83
+ summary: CCLS Common Lib gem
84
+ test_files: []