derickbailey/Albacore — pull request #213 by cakirby (2012-08-16 17:03:05+00:00)
Title: Better AssemblyInfo Handling (Redux)

The first time I tried to use Albacore I ran into some problems, so I fixed them :)

I'm new to Ruby and RSpec so hopefully I didn't break anything.

**Support for multiple parameter constructors**

This includes both positional and named parameters. Fixes #190. Examples:

````csharp
[assembly: Foo(1, 2, 3)]
[assembly: Bar(Name = "Colin", Year = 2012)]
[assembly: FooBar(1, 2, 3, Name = "Colin", Year = 2012)]
````

````ruby
asm.custom_attributes :Foo => [1, 2, 3]
asm.custom_attributes :Bar => { :Name => "Colin", :Year => 2012 }
asm.custom_attributes :FooBar => [1, 2, 3, { :Name => "Colin", :Year => 2012 }]
````

**Various input file fixes**

When using an input file there were three problems:
1. Using directives were being duplicated.
2. Using directives were being added to the end of the input file instead of the beginning
3. Custom attributes were being duplicated instead of being updated (#191).

Also, something that bugged me was the use of "using statement" when it's actually a "using directive". The using statement is the one related to `IDisposable`. It should be changed but it's not a big deal.