This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 6595510d148ab151ee2f7a5aea014388c184616e
tree d072e13f9dd1688a27264dd0da6adf5a3e5bb5c4
parent ed3a7849c6e4c04fc041cacf5fd63280b71922fa
tree d072e13f9dd1688a27264dd0da6adf5a3e5bb5c4
parent ed3a7849c6e4c04fc041cacf5fd63280b71922fa
| name | age | message | |
|---|---|---|---|
| |
IronNails.Contracts/ | Fri Aug 22 04:33:02 -0700 2008 | |
| |
IronNails.Library/ | ||
| |
IronNails.sln | Wed Aug 27 06:00:48 -0700 2008 | |
| |
IronNails/ | ||
| |
README | ||
| |
libs/ |
README
IronNails
=========
IronNails is a framework inspired by the Rails and rucola frameworks. It offers a rails-like way of developing
applications with IronRuby and Windows Presentation Foundation (WPF).
This framework uses the pattern Model - ViewModel - View - Controller (M-VM-V-C). It should eventually be able to run on
both WPF and Silverlight.
The idea is that the views can be created using a design tool like Blend for example and just save that xaml as is. The
designer should not need to use anything else than drag and drop to create a GUI design. The behaviors are then added to
the view by using predefined behaviors in the framework or by defining your own behavior.
The framework then generates a proxy for the view which will be used to transparently wire up the commands in the
behaviors to controller actions.
As this project evolves and IronRuby becomes more complete we will start to take on dependencies to other rubygems.
At this moment we only have a dependency to get logging going and we need to be able to do require 'logger' and require
'fileutils'. In controllers, viewmodels, models and view proxies you now have the ability to log things in the same way
Rails does.
You can run the application by giving the command rake run inside the application directory
You are now able to write the following code for a controller:
# file name: demo_controller.rb
class DemoController < IronNails::Controller::Base
view_object :status_bar_message, "The status bar message"
view_action :change_message
def change_message
@status_bar_message = "#@status_bar_message appended"
end
end
# file name: DemoViewModel.cs
public class DemoViewModel : IronNails.View.ViewModel { }
# file name: demo.xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:behaviors="clr-namespace:IronNails.Library.Behaviors;assembly=IronNails.Library"
Title="Window1" Height="300" Width="300">
<StackPanel>
<TextBlock Text="{Binding Objects[StatusBarMessage].Value}" ></TextBlock>
<Button Content="Click me" behaviors:ClickBehavior.LeftClick="{Binding Commands[ChangeMessage]}" />
</StackPanel>
</Window>
If you want to run the project:
update IronRuby to the latest revision (currently r.170)
update the build_conf.yml file in the config folder to point to your ironruby bin folder. We need to copy some
assemblies there.
type rake run in the ironnails directory ie. C:\projects\ironnails\ironnails\ > rake run
all help is welcome: ivan@flanders.co.nz
Help is wanted for implementing the following items a.o.
* RSpec stories
* Predefined behaviors
* Better xaml integration
* Encapsulation of automatic refreshing of models.
* support for multiple views tied to a controller
* Create a host project in which is an application that hosts the ironruby runtime and executes our nails application.








