diff options
| author | Teddy Wing | 2017-09-01 16:04:59 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2017-09-01 16:04:59 +0200 | 
| commit | 28db706443a912e8355e4c48488dc40c403e7f76 (patch) | |
| tree | b2eee6e7c47348ee632daed8d2edb8eaf7c7eea9 /spec/helpers | |
| parent | b546fc6ef6d406a041f5a26f5855a02b7c8d1f2c (diff) | |
| download | chouette-core-28db706443a912e8355e4c48488dc40c403e7f76.tar.bz2 | |
TableBuilderHelper::Column#link_to: Allow arbitrary number of arguments
This enables us to pass multiple objects into the lambda, so that we can
for example build a URL using a Rails helper using multiple objects.
Example:
    column.link_to(referential, item)
    lambda do |referential, item|
      some_path(referential, item)
    end
Diffstat (limited to 'spec/helpers')
| -rw-r--r-- | spec/helpers/table_builder_helper/column_spec.rb | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/spec/helpers/table_builder_helper/column_spec.rb b/spec/helpers/table_builder_helper/column_spec.rb index e0bfd8a6a..1366d8c46 100644 --- a/spec/helpers/table_builder_helper/column_spec.rb +++ b/spec/helpers/table_builder_helper/column_spec.rb @@ -58,5 +58,19 @@ describe TableBuilderHelper::Column do          ).link_to(train)        ).to eq('TGV')      end + +    it "takes any number of arguments" do +      train = double('train', kind: 'Shinkansen') + +      expect( +        TableBuilderHelper::Column.new( +          name: 'unused', +          attribute: nil, +          link_to: lambda do |prefix, train| +            "#{prefix}: #{train.kind}" +          end +        ).link_to('Type', train) +      ).to eq('Type: Shinkansen') +    end    end  end | 
