README.md in biggs-0.6.0 vs README.md in biggs-0.7.0

- old
+ new

@@ -6,19 +6,21 @@ gem install biggs ### Standalone usage - f = Biggs::Formatter.new +```ruby +f = Biggs::Formatter.new - f.format("de", # <= ISO alpha 2 code - :recipient => "Yolk Sebastian Munz & Julia Soergel GbR", - :street => "Musterallee 12", # <= street + house number - :city => "Ausgedacht", - :zip => 12345, - :state => "Nowhere" # <= state/province/region - ) +f.format("de", # <= ISO alpha 2 code + :recipient => "Yolk Sebastian Munz & Julia Soergel GbR", + :street => "Musterallee 12", # <= street + house number + :city => "Ausgedacht", + :zip => 12345, + :state => "Nowhere" # <= state/province/region +) +``` returns "Yolk Sebastian Munz & Julia Soergel GbR Musterallee 12 @@ -27,55 +29,65 @@ At the moment Biggs::Formatter.new accepts only one option: *blank_country_on* ISO alpha 2 code (single string or array) of countries the formatter should skip the line "country" (for national shipping). - Biggs::Formatter.new(blank_country_on: "de") +```ruby +Biggs::Formatter.new(blank_country_on: "de") +``` With the data from the above example this would return: "Yolk Sebastian Munz & Julia Soergel GbR Musterallee 12 12345 Ausgedacht" ### Usage with Class - class Address - include Biggs +```ruby +class Address + include Biggs - biggs :postal_address - end + biggs :postal_address +end +``` This adds the method postal_address to your Address-model, and assumes the presence of the methods/columns recipient, street, city, zip, state, and country to get the address data. Country should return the ISO-code (e.g. 'us', 'fr', 'de'). You can customize the method-names biggs will use by passing in a hash of options: - class Address - include Biggs +```ruby +class Address + include Biggs - biggs :postal_address, - :zip => :postal_code, - :country => :country_code, - :street => Proc.new {|address| "#{address.street} #{address.house_number}" } - end + biggs :postal_address, + :zip => :postal_code, + :country => :country_code, + :street => Proc.new {|address| "#{address.street} #{address.house_number}" } +end +``` You can pass in a symbol to let biggs call a different method on your Address-model, or a Proc-object to create your data on the fly. You can even pass in a array of symbols: - class Address - include Biggs +```ruby +class Address + include Biggs - biggs :postal_address, - :recipient => [:company_name, :person_name] - end + biggs :postal_address, + :recipient => [:company_name, :person_name] +end +``` This will call the methods company_name and person_name on your address-instance, remove any blank returned values and join the rest by a line break. To access the formatted address string, simply call the provided method on an address instance: - Address.new.postal_address +```ruby +Address.new.postal_address +``` If you pass in a ISO alpha 2 code as :country that is not supported by biggs, it will choose the US-format for addresses with an state specified, and the french/german format for addresses without an state. ### Supported countries @@ -147,6 +159,6 @@ * United States of America * Yemen biggs is tested to behave well with ActiveSupport 3 to 7 -Copyright (c) 2009-2022 Yolk Sebastian Munz & Julia Soergel GbR +Copyright (c) 2009-2023 mite GmbH