decanter 1.1.10 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/bin/console +4 -3
  3. data/lib/decanter.rb +10 -18
  4. data/lib/decanter/base.rb +2 -0
  5. data/lib/decanter/configuration.rb +2 -1
  6. data/lib/decanter/core.rb +121 -140
  7. data/lib/decanter/decant.rb +11 -0
  8. data/lib/decanter/exceptions.rb +2 -0
  9. data/lib/decanter/extensions.rb +11 -11
  10. data/lib/decanter/parser.rb +5 -3
  11. data/lib/decanter/parser/base.rb +2 -1
  12. data/lib/decanter/parser/boolean_parser.rb +3 -2
  13. data/lib/decanter/parser/core.rb +9 -10
  14. data/lib/decanter/parser/date_parser.rb +7 -4
  15. data/lib/decanter/parser/date_time_parser.rb +21 -0
  16. data/lib/decanter/parser/float_parser.rb +5 -5
  17. data/lib/decanter/parser/hash_parser.rb +9 -6
  18. data/lib/decanter/parser/integer_parser.rb +4 -6
  19. data/lib/decanter/parser/join_parser.rb +4 -3
  20. data/lib/decanter/parser/key_value_splitter_parser.rb +6 -3
  21. data/lib/decanter/parser/pass_parser.rb +2 -1
  22. data/lib/decanter/parser/phone_parser.rb +3 -1
  23. data/lib/decanter/parser/string_parser.rb +3 -2
  24. data/lib/decanter/parser/time_parser.rb +19 -0
  25. data/lib/decanter/parser/utils.rb +3 -1
  26. data/lib/decanter/parser/value_parser.rb +4 -3
  27. data/lib/decanter/railtie.rb +11 -15
  28. data/lib/decanter/version.rb +3 -1
  29. data/lib/generators/decanter/install_generator.rb +5 -3
  30. data/lib/generators/decanter/templates/initializer.rb +2 -0
  31. data/lib/generators/rails/decanter_generator.rb +7 -5
  32. data/lib/generators/rails/parser_generator.rb +5 -3
  33. data/lib/generators/rails/resource_override.rb +2 -0
  34. metadata +19 -38
  35. data/.codeclimate.yml +0 -38
  36. data/.gitignore +0 -3
  37. data/.rspec +0 -2
  38. data/.ruby-version +0 -1
  39. data/Gemfile +0 -4
  40. data/Gemfile.lock +0 -102
  41. data/LICENSE.txt +0 -21
  42. data/README.md +0 -516
  43. data/Rakefile +0 -1
  44. data/decanter.gemspec +0 -39
  45. data/lib/decanter/parser/datetime_parser.rb +0 -13
data/Rakefile DELETED
@@ -1 +0,0 @@
1
- require "bundler/gem_tasks"
@@ -1,39 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'decanter/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'decanter'
8
- spec.version = Decanter::VERSION
9
- spec.authors = ['Ryan Francis', 'David Corwin']
10
- spec.email = ['ryan@launchpadlab.com']
11
-
12
- spec.summary = %q{Form Parser for Rails}
13
- spec.description = %q{Decanter aims to reduce complexity in Rails controllers by creating a place for transforming data before it hits the model and database.}
14
- spec.homepage = 'https://github.com/launchpadlab/decanter'
15
- spec.license = 'MIT'
16
-
17
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
- # delete this section to allow pushing this gem to any host.
19
- if spec.respond_to?(:metadata)
20
- spec.metadata['allowed_push_host'] = 'https://rubygems.org'
21
- else
22
- raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
23
- end
24
-
25
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
- spec.bindir = 'exe'
27
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
- spec.require_paths = ['lib']
29
-
30
- spec.add_dependency 'actionpack', '>= 4.2.10'
31
- spec.add_dependency 'activesupport'
32
- spec.add_dependency 'rails-html-sanitizer', '>= 1.0.4'
33
-
34
- spec.add_development_dependency 'bundler', '~> 1.9'
35
- spec.add_development_dependency 'dotenv'
36
- spec.add_development_dependency 'rake', '~> 10.0'
37
- spec.add_development_dependency 'rspec-rails'
38
- spec.add_development_dependency 'simplecov', '~> 0.15.1'
39
- end
@@ -1,13 +0,0 @@
1
- module Decanter
2
- module Parser
3
- class DateTimeParser < ValueParser
4
-
5
- allow DateTime
6
-
7
- parser do |val, options|
8
- parse_format = options.fetch(:parse_format, '%m/%d/%Y %I:%M:%S %p')
9
- ::DateTime.strptime(val, parse_format)
10
- end
11
- end
12
- end
13
- end