diff --git a/Gemfile b/Gemfile index 3ed7947..acff08d 100644 --- a/Gemfile +++ b/Gemfile @@ -12,6 +12,7 @@ gem 'puma', '~> 3.0' gem 'jsonapi_suite', '~> 0.5' gem 'jsonapi-rails', '~> 0.1' gem 'kaminari', '~> 0.17' +gem 'numbers_in_words' group :development, :test do gem 'pry' diff --git a/Gemfile.lock b/Gemfile.lock index 6a4e11d..b30ff97 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,6 +102,8 @@ GEM nio4r (2.0.0) nokogiri (1.7.1) mini_portile2 (~> 2.1.0) + numbers_in_words (0.4.0) + activesupport pg (0.20.0) pry (0.10.4) coderay (~> 1.1.0) @@ -195,6 +197,7 @@ DEPENDENCIES jsonapi_suite (~> 0.5) kaminari (~> 0.17) listen (~> 3.0.5) + numbers_in_words pg pry pry-byebug diff --git a/app/serializers/serializable_employee.rb b/app/serializers/serializable_employee.rb index a3b34c0..e000f50 100644 --- a/app/serializers/serializable_employee.rb +++ b/app/serializers/serializable_employee.rb @@ -3,7 +3,9 @@ class SerializableEmployee < JSONAPI::Serializable::Resource attribute :first_name attribute :last_name - attribute :age + attribute :age do + NumbersInWords.in_words(@object.age) + end attribute :created_at attribute :updated_at end diff --git a/spec/payloads/employee.rb b/spec/payloads/employee.rb index 6de39fa..c753dd2 100644 --- a/spec/payloads/employee.rb +++ b/spec/payloads/employee.rb @@ -1,7 +1,7 @@ JsonapiSpecHelpers::Payload.register(:employee) do key(:first_name, String) key(:last_name, String) - key(:age, Integer) + key(:age, String) { |r| NumbersInWords.in_words(r.age) } timestamps! end