diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 9acca10..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "vendor/ironruby_inline"]
- path = vendor/ironruby_inline
- url = git://github.com/rvernagus/IronRubyInline.git
diff --git a/IronNails.Contracts/Controls/FilterText.xaml b/IronNails.Contracts/Controls/FilterText.xaml
deleted file mode 100644
index c8d136f..0000000
--- a/IronNails.Contracts/Controls/FilterText.xaml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/IronNails.Contracts/Controls/FilterText.xaml.cs b/IronNails.Contracts/Controls/FilterText.xaml.cs
deleted file mode 100644
index b9d78f3..0000000
--- a/IronNails.Contracts/Controls/FilterText.xaml.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace IronNails.Controls
-{
- ///
- /// Interaction logic for FilterText.xaml
- ///
- public partial class FilterText : UserControl
- {
- public static readonly RoutedEvent ResetFilterEvent = EventManager.RegisterRoutedEvent(
- "ResetFilter", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(FilterText));
-
- // Raise an event when the filter is reset
-
- public FilterText()
- {
- InitializeComponent();
- ShowResetButton();
- }
-
- ///
- /// Gets or sets the text content of the filter control.
- ///
- public string Text
- {
- get { return FilterTextBox.Text; }
- set { FilterTextBox.Text = value; }
- }
-
- public event RoutedEventHandler ResetFilter
- {
- add { AddHandler(ResetFilterEvent, value); }
- remove { RemoveHandler(ResetFilterEvent, value); }
- }
-
- ///
- /// Set the focus to the filter control.
- ///
- public new void Focus()
- {
- FilterTextBox.Focus();
- }
-
- ///
- /// The reset button was clicked, clear the filter control.
- ///
- private void FilterButton_Click(object sender, RoutedEventArgs e)
- {
- Text = string.Empty;
- RaiseEvent(new RoutedEventArgs(ResetFilterEvent));
- }
-
- ///
- /// The filter text changed, show or hide the reset button.
- ///
- private void FilterTextBox_TextChanged(object sender, TextChangedEventArgs e)
- {
- ShowResetButton();
- }
-
- ///
- /// Show the reset button if there is any text in the filter,
- /// otherwise hide the reset button.
- ///
- private void ShowResetButton()
- {
- FilterButton.Visibility = (FilterTextBox.Text.Trim().Length > 0)
- ?
- Visibility.Visible
- : Visibility.Collapsed;
- }
- }
-}
diff --git a/IronNails.Contracts/Controls/TweetTextBlock.cs b/IronNails.Contracts/Controls/TweetTextBlock.cs
deleted file mode 100644
index dd786fc..0000000
--- a/IronNails.Contracts/Controls/TweetTextBlock.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-using System;
-using System.Linq;
-using System.Text.RegularExpressions;
-using System.Web;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-
-namespace IronNails.Controls
-{
- ///
- /// Custom TextBlock to allow parsing hyperlinks and @names
- ///
- public class TweetTextBlock : TextBlock
- {
- #region Dependency properties
-
- public string TweetText
- {
- get { return (string)GetValue(TweetTextProperty); }
- set { SetValue(TweetTextProperty, value); }
- }
-
- // Using a DependencyProperty as the backing store for TweetText. This enables animation, styling, binding, etc...
- public static readonly DependencyProperty TweetTextProperty =
- DependencyProperty.Register("TweetText", typeof(string), typeof(TweetTextBlock),
- new FrameworkPropertyMetadata(string.Empty, new PropertyChangedCallback(OnTweetTextChanged)));
-
- #endregion
-
- private static void OnTweetTextChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
- {
- var text = args.NewValue as string;
- if (text.IsEmpty()) return;
-
- text = HttpUtility.HtmlDecode(text);
-
- var textblock = (TweetTextBlock)obj;
- textblock.Inlines.Clear();
-
- text.Split(' ').ToList().ForEach(word => ProcessWord(textblock, word));
- }
-
- private static void ProcessWord(TextBlock textblock, string word)
- {
- if (!HasUrls(textblock, word) && !HasAtName(textblock, word))
- textblock.Inlines.Add(word);
-
- textblock.Inlines.Add(" ");
- }
-
- private static bool HasAtName(TextBlock textblock, string word)
- {
- if (!word.IsAtName()) return false;
-
- var foundUsername = Regex.Match(word, @"@(\w+)");
- if (!foundUsername.Success) return false;
-
- var userName = foundUsername.Groups[1].Captures[0].Value;
- var name = new Hyperlink
- {
- NavigateUri = new Uri("http://twitter.com/" + userName),
- ToolTip = "Show user's profile"
- };
-
- name.Inlines.Add(userName);
- name.Click += (sender, e) => ((Hyperlink)sender).NavigateUri.TryOpeningUrl();
-
- textblock.Inlines.Add("@");
- textblock.Inlines.Add(name);
-
- return true;
- }
-
- private static bool HasUrls(TextBlock textblock, string text)
- {
- if (!text.IsUrl()) return false;
-
- try
- {
- var link = new Hyperlink
- {
- NavigateUri = new Uri(text),
- ToolTip = "Open link in the default browser"
- };
- link.Inlines.Add(text);
- link.Click += (sender, e) => ((Hyperlink)sender).NavigateUri.TryOpeningUrl();
- textblock.Inlines.Add(link);
-
- return true;
- }
- catch
- {
- textblock.Inlines.Add(text);
- return false;
- }
- }
-
-
- public static readonly RoutedEvent NameClickEvent = EventManager.RegisterRoutedEvent(
- "NameClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(TweetTextBlock));
-
- public event RoutedEventHandler NameClick
- {
- add { AddHandler(NameClickEvent, value); }
- remove { RemoveHandler(NameClickEvent, value); }
- }
-
- }
-}
\ No newline at end of file
diff --git a/IronNails.Contracts/ExtensionMethods.cs b/IronNails.Contracts/ExtensionMethods.cs
deleted file mode 100644
index eb485b6..0000000
--- a/IronNails.Contracts/ExtensionMethods.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Text.RegularExpressions;
-using System.Windows;
-using System.Linq;
-
-namespace IronNails
-{
- public static class ExtensionMethods
- {
-
- public static bool IsEmpty(this string text)
- {
- return string.IsNullOrEmpty(text) || text.Trim().Length == 0;
- }
-
- public static bool IsUrl(this string text)
- {
- return Uri.IsWellFormedUriString(text, UriKind.Absolute) && new[] { "http", "https", "ftp" }.Contains(new Uri(text).Scheme);
- }
-
- public static bool IsAtName(this string text)
- {
- return text.StartsWith("@");
- }
-
- public static void TryOpeningUrl(this Uri uri)
- {
- try
- {
- Process.Start(uri.ToString());
- }
- catch
- {
- //TODO: Log specific URL that caused error
- MessageBox.Show("There was a problem launching the specified URL.", "Error", MessageBoxButton.OK,
- MessageBoxImage.Exclamation);
- }
- }
-
-
- public static string CaptureUrlIfAny(this string text)
- {
- if (text.IsEmpty()) return string.Empty;
-
- var match = Regex.Match(text, "href=\"((f|h)ttps?://.+)\"", RegexOptions.IgnoreCase);
- return match.Success ? match.Groups[1].Value : string.Empty;
- }
-
- }
-}
\ No newline at end of file
diff --git a/IronNails.Contracts/IronNails.Contracts.csproj b/IronNails.Contracts/IronNails.Contracts.csproj
deleted file mode 100644
index 4edc36e..0000000
--- a/IronNails.Contracts/IronNails.Contracts.csproj
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 9.0.30729
- 2.0
- {EE06546F-58C9-454D-95BD-F408084B2BB5}
- Library
- Properties
- IronNails
- IronNails.Contracts
- v3.5
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
-
-
-
-
- 3.5
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- true
- full
- false
- ..\IronNails\bin\
- DEBUG;TRACE
- prompt
- 4
- AllRules.ruleset
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- AllRules.ruleset
-
-
-
- False
- ..\libs\IronNails.Library.dll
-
-
-
- 3.5
-
-
-
- 3.5
-
-
- 3.5
-
-
-
-
- 3.0
-
-
- 3.0
-
-
- 3.0
-
-
- 3.0
-
-
-
-
- FilterText.xaml
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
- Designer
- MSBuild:Compile
- MSBuild:Compile
- Designer
-
-
-
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- true
-
-
- False
- Windows Installer 3.1
- true
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails.Contracts/Properties/AssemblyInfo.cs b/IronNails.Contracts/Properties/AssemblyInfo.cs
deleted file mode 100644
index e53223b..0000000
--- a/IronNails.Contracts/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("IronNails.Contracts")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("IronNails.Contracts")]
-[assembly: AssemblyCopyright("Copyright © 2008")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/IronNails.Contracts/Properties/Resources.Designer.cs b/IronNails.Contracts/Properties/Resources.Designer.cs
deleted file mode 100644
index 55613bc..0000000
--- a/IronNails.Contracts/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30128.1
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace IronNails.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IronNails.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/IronNails.Contracts/Properties/Resources.resx b/IronNails.Contracts/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/IronNails.Contracts/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/IronNails.Contracts/Properties/Settings.Designer.cs b/IronNails.Contracts/Properties/Settings.Designer.cs
deleted file mode 100644
index e13fa9e..0000000
--- a/IronNails.Contracts/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30128.1
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace IronNails.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/IronNails.Contracts/Properties/Settings.settings b/IronNails.Contracts/Properties/Settings.settings
deleted file mode 100644
index 033d7a5..0000000
--- a/IronNails.Contracts/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails.Host/IronNails.Host.csproj b/IronNails.Host/IronNails.Host.csproj
deleted file mode 100644
index 66a5111..0000000
--- a/IronNails.Host/IronNails.Host.csproj
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {94C466C2-4F57-4330-B08E-15E9010371CF}
- Exe
- Properties
- IronNails.Host
- IronNails.Host
- v3.5
- 512
-
-
- x86
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- x86
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {328B9941-D068-4EDE-9994-A59F1B1AE530}
- IronNails.Library
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails.Host/Program.cs b/IronNails.Host/Program.cs
deleted file mode 100644
index 08c72c1..0000000
--- a/IronNails.Host/Program.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace IronNails.Host
-{
- class Program
- {
- static void Main(string[] args)
- {
- }
- }
-}
diff --git a/IronNails.Host/Properties/AssemblyInfo.cs b/IronNails.Host/Properties/AssemblyInfo.cs
deleted file mode 100644
index 828d1de..0000000
--- a/IronNails.Host/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("IronNails.Host")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("IronNails.Host")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a5c8eb24-3c0a-430f-adc3-ad8644f3bef2")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe b/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe
deleted file mode 100644
index 7b8cdde..0000000
Binary files a/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe and /dev/null differ
diff --git a/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe.manifest b/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe.manifest
deleted file mode 100644
index f96b1d6..0000000
--- a/IronNails.Host/bin/Debug/IronNails.Host.vshost.exe.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/IronNails.Host/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/IronNails.Host/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
deleted file mode 100644
index ac6e206..0000000
Binary files a/IronNails.Host/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ
diff --git a/IronNails.Library/IronNails.Library.csproj b/IronNails.Library/IronNails.Library.csproj
index c100d34..64161de 100644
--- a/IronNails.Library/IronNails.Library.csproj
+++ b/IronNails.Library/IronNails.Library.csproj
@@ -36,7 +36,7 @@
true
full
false
- ..\IronNails\vendor\iron_nails\lib\ironnails\bin\
+ ..\IronNails\lib\ironnails\bin\
DEBUG;TRACE
prompt
4
@@ -129,6 +129,6 @@
-->
- copy $(TargetPath) ..\..\..\..\..\..\libs\IronNails.Library.dll
+ copy $(TargetPath) ..\..\..\..\libs\IronNails.Library.dll
\ No newline at end of file
diff --git a/IronNails.sln b/IronNails.sln
index f3e120f..7765533 100644
--- a/IronNails.sln
+++ b/IronNails.sln
@@ -6,8 +6,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documents", "Documents", "{
README = README
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronNails.Contracts", "IronNails.Contracts\IronNails.Contracts.csproj", "{EE06546F-58C9-454D-95BD-F408084B2BB5}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronNails.Library", "IronNails.Library\IronNails.Library.csproj", "{328B9941-D068-4EDE-9994-A59F1B1AE530}"
EndProject
Global
@@ -20,16 +18,6 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Debug|x86.ActiveCfg = Debug|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Release|Any CPU.Build.0 = Release|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {EE06546F-58C9-454D-95BD-F408084B2BB5}.Release|x86.ActiveCfg = Release|Any CPU
{328B9941-D068-4EDE-9994-A59F1B1AE530}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{328B9941-D068-4EDE-9994-A59F1B1AE530}.Debug|Any CPU.Build.0 = Debug|Any CPU
{328B9941-D068-4EDE-9994-A59F1B1AE530}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
diff --git a/IronNails/vendor/ironnails/Rakefile b/IronNails/Rakefile
similarity index 92%
rename from IronNails/vendor/ironnails/Rakefile
rename to IronNails/Rakefile
index cda686e..34947f8 100644
--- a/IronNails/vendor/ironnails/Rakefile
+++ b/IronNails/Rakefile
@@ -12,6 +12,7 @@ applications with IronRuby and Windows Presentation Foundation (WPF).}
gem.homepage = "http://github.com/casualjim/ironnails"
gem.authors = ["Ivan Porto Carrero"]
gem.add_development_dependency "rspec", ">= 0"
+ gem.files = FileList["[A-Z]*", "{lib}/**/*"]
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
end
Jeweler::GemcutterTasks.new
diff --git a/IronNails/Rakefile.rb b/IronNails/Rakefile.rb
deleted file mode 100644
index 3fa05d4..0000000
--- a/IronNails/Rakefile.rb
+++ /dev/null
@@ -1,100 +0,0 @@
-require 'rubygems'
-require 'rake'
-require 'yaml'
-require 'ftools'
-
-begin
- require 'jeweler'
- Jeweler::Tasks.new do |gem|
- gem.name = "testgem"
- gem.summary = %Q{IronNails brings rails like development to IronRuby and WPF}
- gem.description = %Q{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).}
- gem.email = "ivan@flanders.co.nz"
- gem.homepage = "http://github.com/casualjim/ironnails"
- gem.authors = ["Ivan Porto Carrero"]
- gem.add_development_dependency "rspec", ">= 0"
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
- end
- Jeweler::GemcutterTasks.new
-rescue LoadError
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
-end
-
-
-def exec_sys(cmd)
- puts "executing #{cmd}"
- system cmd
-end
-
-desc "Run the application"
-task :run => [:build] do
- sh "ir lib/main.rb"
-end
-
-namespace :run do
-
- desc "Run the application with debugging enabled"
- task :debug => [:build] do
- exec_sys "ir -D lib/main.rb"
- end
-
- desc "Forces this application to run without building first"
- task :force do
- exec_sys "ir -D lib/main.rb"
- end
-
-end
-
-desc "Builds the helpers and the contracts projects"
-task :build => ['build:helpers', 'build:contracts', "build:copy_assemblies"]
-
-desc "Cleans and rebuilds the helpers and the contracts projects"
-task :rebuild => ['build:rebuild_helpers', 'build:rebuild_contracts', "build:copy_assemblies"]
-
-namespace :build do
-
- desc "Copies the library assembly to the ironruby directory"
- task :copy_assemblies do
- puts "Coping files to install locations"
- ir_path = File.expand_path(File.dirname(__FILE__) + "/bin")
- File.copy("../libs/J832.Common.dll", ir_path )
- File.copy("../libs/J832.Wpf.BagOTricksLib.dll", ir_path )
- end
-
- desc "Build the helpers project"
- task :helpers do
- puts "Building the helpers project"
- system "msbuild /clp:ErrorsOnly;WarningsOnly /nologo ../IronNails.Library/IronNails.Library.csproj"
- end
-
- desc "Cleans and builds the helpers project"
- task :rebuild_helpers do
- puts "Reuilding the helpers project"
- system "msbuild /clp:ErrorsOnly;WarningsOnly /t:Clean /nologo ../IronNails.Library/IronNails.Library.csproj"
- end
-
- desc "Build the contracts project"
- task :contracts do
- puts "Building the contracts project"
- system "msbuild /clp:ErrorsOnly;WarningsOnly /nologo ../IronNails.Contracts/IronNails.Contracts.csproj"
- end
-
- desc "Cleans and builds the contracts project"
- task :rebuild_contracts do
- puts "Rebuilding the contracts project"
- system "msbuild /clp:ErrorsOnly;WarningsOnly /nologo /t:Clean ../IronNails.Contracts/IronNails.Contracts.csproj"
- end
-
-end
-
-desc "Opens a console with the environment of the application initialized (Doesn't work at the moment)"
-task :console do
- system "ir '-D -i config/boot.rb'"
-end
-
-task :default do
- Rake.application.options.show_tasks = true
- Rake.application.options.show_task_pattern = Regexp.new('.')
- Rake.application.display_tasks_and_comments
-end
\ No newline at end of file
diff --git a/IronNails/VERSION b/IronNails/VERSION
new file mode 100644
index 0000000..84576ea
--- /dev/null
+++ b/IronNails/VERSION
@@ -0,0 +1 @@
+0.0.1
diff --git a/IronNails/app/controllers/sylvester_controller.rb b/IronNails/app/controllers/sylvester_controller.rb
deleted file mode 100644
index 819e8da..0000000
--- a/IronNails/app/controllers/sylvester_controller.rb
+++ /dev/null
@@ -1,97 +0,0 @@
-class SylvesterController < IronNails::Controller::Base
-
- # TODO: introduce show_view also in the default action and make the controller responsible for showing that view
- # TODO: introduce a way to start and stop timers
- # TODO: Fix asynchronous execution.
- # make a command responsible for deciding on an asynchronous operation. Every command should be bound to a view
- # because multithreading seems to only work correctly from the xaml_proxy.
-
- view_object :status_bar_message
- view_object :tweets, []
- view_object :username
- view_object :password, :element => :password, :property => :password, :view => :login
- view_object :update_text
-
- view_action :authenticate #, :mode => :asynchronous, :callback => :logged_in
- view_action :refresh_tweets
- view_action :refresh_tweets_timer, :action => :refresh_tweets, :type => :timed, :interval => 2.minutes
- view_action :toggle_update
- view_action :update_status
-
-
- attr_accessor :current_user, :credentials
-
- def init_controller
- @expanded = false
- end
-
- def update_status
- tweet = Status.update_status @update_text.to_s.with_shortened_urls, credentials
- @status_bar_message = "Tweet sent"
- play_storyboard 'CollapseUpdate'
- @expanded = false
- @update_text = ''
- @tweets.insert 0, tweet if tweet
- end
-
- def default_action
- @status_bar_message = "Please login"
- child_view :login, :in => :content
- on_view(:login) do |proxy|
- proxy.loaded { proxy.username.focus; }
- end
- end
-
- def refresh_tweets
- logger.debug "refreshing tweets"
- @tweets.merge! Status.timeline_with_friends(@credentials)
- @status_bar_message = "Refreshed tweets"
- end
-
- def logged_in
- unless @current_user.nil?
- logger.debug "Fetching timeline with friends: #{credentials.username}"
- @tweets = Status.timeline_with_friends @credentials
- @status_bar_message = "Received tweets"
- on_view(:login) do |proxy|
- proxy.visibility= :hidden
- proxy.password.password = ""
- #proxy.play_storyboard "HideLogin"
- end
- @username = ""
-
- end
- end
-
- def view_name
- "main_window"
- end
-
- def toggle_update
- if logged_in?
- if @expanded
- play_storyboard "CollapseUpdate"
- else
- play_storyboard "ExpandUpdate"
- on_view do |proxy|
- proxy.tweet_text_box.focus
- end
- end
- @expanded = !@expanded
- end
- end
-
- def authenticate
- @status_bar_message = "Logging in"
- refresh_view
- @credentials = Credentials.new @username, @password.to_s.to_secure_string
- @current_user = User.login(@credentials)
- logged_in #unless current_user.nil?
- end
-
- def logged_in?
- !current_user.nil?
- end
-
-
-end
\ No newline at end of file
diff --git a/IronNails/app/converters/char_remaining_value_converter.rb b/IronNails/app/converters/char_remaining_value_converter.rb
deleted file mode 100644
index c6aa253..0000000
--- a/IronNails/app/converters/char_remaining_value_converter.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-class CharRemainingValueConverter
-
- def convert(value, target_type, parameter, culture)
- 140 - value
- end
-
- def convert_back(value, target_type, parameter, culture)
- raise NotImplementedError, "We don't convert back from char remaining"
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/app/converters/image_converter.rb b/IronNails/app/converters/image_converter.rb
deleted file mode 100644
index b8d770f..0000000
--- a/IronNails/app/converters/image_converter.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-class ImageConverter
- def convert(value, target_type, parameter, culture)
- value
- end
-
- def convert_back(value, target_type, parameter, culture)
- raise NotImplementedError, "We don't convert back from char remaining"
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/converters/index_to_is_alternate_row_converter.rb b/IronNails/app/converters/index_to_is_alternate_row_converter.rb
deleted file mode 100644
index 9ae081c..0000000
--- a/IronNails/app/converters/index_to_is_alternate_row_converter.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-class IndexToIsAlternateRowConverter
- def convert(value, target_type, parameter, culture)
- value % 2 == 1
- end
-
- def convert_back(value, target_type, parameter, culture)
- raise NotImplementedError, "We don't convert back to an index"
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/converters/round_converter.rb b/IronNails/app/converters/round_converter.rb
deleted file mode 100644
index 8ef48de..0000000
--- a/IronNails/app/converters/round_converter.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-class RoundConverter
- def convert(value, target_type, parameter, culture)
- value.round
- end
-
- def convert_back(value, target_type, parameter, culture)
- begin
- value.round
- rescue
- 0
- end
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/models/bindable_collection.rb b/IronNails/app/models/bindable_collection.rb
deleted file mode 100644
index 5421eeb..0000000
--- a/IronNails/app/models/bindable_collection.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-module IronNails::Models
-
- class BindableCollection < System::Collections::ObjectModel::ObservableCollection[System::Object]
-
- def initialize(list)
- list.map { |item| self.add item }
- end
-
- def merge!(list)
- parish!
- added = []
- list.reverse.each do |item|
- unless self.include? item
- item.is_new = true
- item.index = self.count
- self.insert 0, item
- added << item
- end
- end
- added
- end
-
- def set_indexes!
- self.each_with_index { |item, index| item.index = index }
- end
-
- def parish!
- self.each do |item|
- item.is_new = false
- end
- end
-
- def truncate_after(max)
- self.to_a[0...max]
- end
-
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/app/models/credentials.rb b/IronNails/app/models/credentials.rb
deleted file mode 100644
index 7e97641..0000000
--- a/IronNails/app/models/credentials.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-module IronNails
-
- module Models
-
- class Credentials
-
- attr_accessor :username, :password, :authenticated
-
- def initialize(username, password)
- @authenticated = false;
- @username = username
- @password = password
- end
-
- # validates the credentials against twitter
- # also prepares the cache to use with authenticated?
- def validate
- @authenticated = false
-
- begin
- @authenticated = WebClient.new(Constants::Urls::VERIFY_CREDENTIALS, self).post_and_return
- rescue SecurityException => e
- @authenticated = false
- end
-
- @authenticated
- end
-
- # returns the cached version of +validate+
- # if the credentials were invalid or haven't been
- # authenticated yet it will authenticate
- def are_valid?
- @authenticated ? @authenticated : validate
- end
-
- def to_network_credentials
- NetworkCredential.new username, password.to_insecure_string
- end
-
- end
-
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/models/direct_message.rb b/IronNails/app/models/direct_message.rb
deleted file mode 100644
index 7d7b317..0000000
--- a/IronNails/app/models/direct_message.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-module IronNails
-
- module Models
-
- class DirectMessage
-
- @@properties = %w(created_at id text sender_id recipient_id sender_screen_name recipient_screen_name)
- @@children = %w(sender recipient)
-
- def self.properties
- @@properties
- end
-
- def self.children
- @@children
- end
-
- attr_accessor *properties
- attr_accessor *children
-
- def self.all(credentials, &callback)
- options = { :url => Constants::Urls::DIRECT_MESSAGES, :credentials => credentials, :root_path => 'direct-messages/direct_message' }
- internal_request options, &callback
- end
-
- def self.sent(credentials, &callback)
- options = { :url => Constants::Urls::SENT_MESSAGES, :credentials => credentials, :root_path => 'direct-messages/direct_message' }
- internal_request options, &callback
- end
-
- def self.delete(message, credentials, &callback)
- request = WebClient.new "#{Constants::Urls::DESTROY_DIRECT_MESSAGE}#{message}#{Constants::RESPONSE_FORMAT}", credentials
- request.get
- end
-
- def self.send(user, message, credentials, &callback)
- request = WebClient.new Constants::Urls::UPDATE_STATUS, credentials
- params = { :status => message, :user => user, :source => "Sylvester" }
- request.post_and_return params, nil, &callback
- end
-
- def to_status
- stat = Status.new
- stat.created_at = self.created_at
- stat.user = self.sender
- stat.text = self.text
- stat.id = self.id
-
- stat
- end
-
-
-
-
-
- end
-
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/models/model_base.rb b/IronNails/app/models/model_base.rb
deleted file mode 100644
index 3f394f1..0000000
--- a/IronNails/app/models/model_base.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-module IronNails
-
- module Models
-
- class ModelBase
-
- include IronNails::Models::ModelMixin
- include IronNails::Models::Databinding
- include IronNails::Core::FeedParser
- extend IronNails::Core::FeedParser::ClassMethods
-
-
- attr_accessor :index, :is_new
-
- def initialize
- yield if block_given?
- end
-
- def ==(other)
- !!other && self.id == other.id
- end
-
- alias_method :equals, :==
-
- end
-
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/app/models/status.rb b/IronNails/app/models/status.rb
deleted file mode 100644
index c682f02..0000000
--- a/IronNails/app/models/status.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-require File.dirname(__FILE__) + "/tweet_base"
-module IronNails
-
- module Models
-
- class Status < TweetBase
-
- @@properties = %w(created_at id text source truncated in_reply_to_status_id in_reply_to_user_id favorited)
- @@children = %w(user)
-
- def self.properties
- @@properties
- end
-
- def self.children
- @@children
- end
-
- attr_accessor *properties
- attr_accessor *children
-
- class << self
-
- def timeline_with_friends(credentials, &callback)
- options = { :url => Constants::Urls::FRIENDS_TIMELINE, :credentials => credentials, :root_path => 'statuses/status' }
- internal_request options, &callback
- end
-
- def replies_timeline(credentials, &callback)
- options = { :url => Constants::Urls::REPLIES_TIMELINE, :credentials => credentials, :root_path => 'statuses/status' }
- internal_request options, &callback
- end
-
- def timeline_for_user(user, credentials, &callback)
- options = { :url => "#{Constants::Urls::USERS_TIMELINE}#{user}#{Constants::RESPONSE_FORMAT}", :credentials => credentials, :root_path => 'statuses/status' }
- internal_request options, &callback
- end
-
- def update_status(message, credentials, &callback)
- request = WebClient.new Constants::Urls::UPDATE_STATUS, credentials
- params = {:status => message, :source => "Sylvester" }
- parse_response = lambda{ |rdr| parse_post_response rdr, message }
-
- request.post_and_return params, parse_response, &callback
- end
-
- def delete(message, credentials, &callback)
- request = WebClient.new "#{Constants::Urls::DESTROY_TWEET}#{message}#{Constants::RESPONSE_FORMAT}", credentials
- request.get
- end
-
-
- def parse_post_response(reader, original_message)
- item = nil
- IronXml.parse(reader, :stream) do |doc|
- item = self.build_from_post(doc.element('status'), original_message)
- end
- item
- end
-
- def build_from_post(element, original_message)
- return nil if element.nil?
-
- item = self.new
- item.populate_properties_from(element) do |val|
- if original_message.is_direct_message?
- item.text = original_message
- else
- item.text = HttpUtility.html_decode val
- end
- end
- item.populate_children_from element
- item.is_new = true
- item
- end
- end
-
- end
-
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/models/tweet_base.rb b/IronNails/app/models/tweet_base.rb
deleted file mode 100644
index 757fd9b..0000000
--- a/IronNails/app/models/tweet_base.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-require File.dirname(__FILE__) + "/tweet_base"
-
-module IronNails
-
- module Models
-
- class TweetBase < ModelBase
-
- attr_accessor :created_at, :humanized_time
-
- def humanized_time
- update_humanized_time
- end
-
-
- def update_humanized_time
- self.humanized_time = self.created_at.humanize if self.created_at
- end
-
- def self.collection
- TweetCollection
- end
-
- end
-
- end
-end
diff --git a/IronNails/app/models/tweet_collection.rb b/IronNails/app/models/tweet_collection.rb
deleted file mode 100644
index 785396c..0000000
--- a/IronNails/app/models/tweet_collection.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-module IronNails
-
- module Models
-
- class TweetCollection < BindableCollection
-
- def parish!
- self.each do |item|
- item.update_humanized_time
- item.is_new = false
- end
- end
- end
-
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/app/models/user.rb b/IronNails/app/models/user.rb
deleted file mode 100644
index ed3e819..0000000
--- a/IronNails/app/models/user.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-module IronNails
-
- module Models
-
- class User < ModelBase
-
- def self.properties
- %w(id name screen_name location description
- profile_image_url url protected followers_count)
- end
-
- attr_accessor *properties
- attr_accessor :created_at, :favourites_count, :following, :friends_count
- attr_accessor :statuses_count, :time_zone, :utc_offset, :status
-
- attr_reader :twitter_url, :full_name
-
- def twitter_url
- "http://twitter.com/#{screen_name}"
- end
-
- def full_name
- "#{name} (#{screen_name})"
- end
-
- def self.friends(credentials, &callback)
- options = { :url => Constants::Urls::FRIENDS, :credentials => credentials, :root_path => 'users/user' }
- internal_request options, &callback
- end
-
- def self.followers(credentials, &callback)
- options = { :url => Constants::Urls::FOLLOWERS, :credentials => credentials, :root_path => 'users/user'}
- internal_request options, &callback
- end
-
- def self.follow(user, credentials, &callback)
- wc = WebClient.new "Constants::Urls::FOLLOWERS#{user}#{Constants::RESPONSE_FORMAT}", credentials
- wc.get &callback
- end
-
- def self.login(credentials, &callback)
- url = "#{Constants::Urls::FRIENDS_PROFILE}#{credentials.username}#{Constants::RESPONSE_FORMAT}"
- options = { :url => url, :entity => true, :credentials => credentials}
- user = internal_request options, &callback
- user
- #new
- end
-
-
- def self.children
- %w(status)
- end
-
- end
-
- end
-end
\ No newline at end of file
diff --git a/IronNails/app/views/login.xaml b/IronNails/app/views/login.xaml
deleted file mode 100644
index 09fb4f2..0000000
--- a/IronNails/app/views/login.xaml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails/app/views/main_window.xaml b/IronNails/app/views/main_window.xaml
deleted file mode 100644
index e05734d..0000000
--- a/IronNails/app/views/main_window.xaml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/IronNails/assets/Storyboards.xaml b/IronNails/assets/Storyboards.xaml
deleted file mode 100644
index 29d232d..0000000
--- a/IronNails/assets/Storyboards.xaml
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails/assets/alert.wav b/IronNails/assets/alert.wav
deleted file mode 100644
index 3034719..0000000
Binary files a/IronNails/assets/alert.wav and /dev/null differ
diff --git a/IronNails/assets/cat.ico b/IronNails/assets/cat.ico
deleted file mode 100644
index 779aa3c..0000000
Binary files a/IronNails/assets/cat.ico and /dev/null differ
diff --git a/IronNails/bin/IronNails.Contracts.dll b/IronNails/bin/IronNails.Contracts.dll
deleted file mode 100644
index 87f6d99..0000000
Binary files a/IronNails/bin/IronNails.Contracts.dll and /dev/null differ
diff --git a/IronNails/bin/IronNails.Contracts.pdb b/IronNails/bin/IronNails.Contracts.pdb
deleted file mode 100644
index ccec358..0000000
Binary files a/IronNails/bin/IronNails.Contracts.pdb and /dev/null differ
diff --git a/IronNails/bin/J832.Common.dll b/IronNails/bin/J832.Common.dll
deleted file mode 100644
index 19380f8..0000000
Binary files a/IronNails/bin/J832.Common.dll and /dev/null differ
diff --git a/IronNails/bin/J832.Wpf.BagOTricksLib.dll b/IronNails/bin/J832.Wpf.BagOTricksLib.dll
deleted file mode 100644
index fb2860e..0000000
Binary files a/IronNails/bin/J832.Wpf.BagOTricksLib.dll and /dev/null differ
diff --git a/IronNails/config/boot.rb b/IronNails/config/boot.rb
deleted file mode 100644
index 8c4d2b4..0000000
--- a/IronNails/config/boot.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-IRONNAILS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), ".."))
-require File.dirname(__FILE__) + '/../vendor/ironnails/lib/ironnails'
diff --git a/IronNails/config/constants.rb b/IronNails/config/constants.rb
deleted file mode 100644
index 3cfba98..0000000
--- a/IronNails/config/constants.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-module IronNails
- module Core
- module Constants
- RESPONSE_FORMAT = ".xml" unless defined? RESPONSE_FORMAT
- CHARACTER_LIMIT = 140 unless defined? CHARACTER_LIMIT
-
- module Urls
- VERIFY_CREDENTIALS = "http://twitter.com/account/verify_credentials.xml" unless defined? VERIFY_CREDENTIALS
- PROFILE = "http://twitter.com/users/show/" unless defined? PROFILE
- FOLLOWERS = "http://twitter.com/statuses/followers.xml" unless defined? FOLLOWERS
- FRIENDS = "http://twitter.com/statuses/friends.xml" unless defined? FRIENDS
- FRIENDS_TIMELINE = "http://twitter.com/statuses/friends_timeline.xml" unless defined? FRIENDS_TIMELINE
- USERS_TIMELINE = "http://twitter.com/statuses/user_timeline/" unless defined? USERS_TIMELINE
- DIRECT_MESSAGES = "http://twitter.com/direct_messages.xml" unless defined? DIRECT_MESSAGES
- REPLIES_TIMELINE = "http://twitter.com/statuses/replies.xml" unless defined? REPLIES_TIMELINE
- SENT_MESSAGES = "http://twitter.com/direct_messages/sent.xml" unless defined? SENT_MESSAGES
- UPDATE_STATUS = "http://twitter.com/statuses/update.xml" unless defined? TWEETS
- FRIENDS_PROFILE = "http://twitter.com/users/show/" unless defined? FRIENDS_PROFILE
- USER = "http://twitter.com/" unless defined? USER
- DESTROY_TWEET = "http://twitter.com/statuses/destroy/" unless defined? DESTROY_TWEET
- DESTROY_DIRECT_MESSAGE = "http://twitter.com/direct_messages/destroy/" unless defined? DESTROY_DIRECT_MESSAGE
- FOLLOW_USER = "http://twitter.com/friendships/create/" unless defined? FOLLOW_USER
- end
-
- module RequestMethods
- GET = "GET" unless defined? GET
- POST = "POST" unless defined? POST
- end
-
- module DateFormats
- CREATED_AT_FORMAT = "ddd MMM dd HH:mm:ss zzzz yyyy" unless defined? CREATED_AT_FORMAT
- SINCE_FORMAT = "ddd MMM dd yyyy HH:mm:ss zzzz" unless defined? SINCE_FORMAT
- end
- end
- end
-end
diff --git a/IronNails/config/dependencies.yml b/IronNails/config/dependencies.yml
deleted file mode 100644
index 111a247..0000000
--- a/IronNails/config/dependencies.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-references:
-- ../IronNails.Contracts/IronNails.Contracts.csproj
diff --git a/IronNails/config/environment.rb b/IronNails/config/environment.rb
deleted file mode 100644
index 5e10544..0000000
--- a/IronNails/config/environment.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-require File.dirname(__FILE__) + "/boot"
-# IronNails::Logging::FRAMEWORK_LOGGING = false
-IronNails::Logging::CONSOLE_LOGGING = true
-
-#require 'twitter'
-
-IronNails::Initializer.run do |config|
-
- config.namespaces.concat %w(
- IronNails
- IronNails::Core
- IronNails::Models
- System::Diagnostics
- System::Security
- System::Globalization
- System::Windows::Markup
- System::Windows::Controls
- System::Windows::Media
- System::Windows::Media::Animation
- System::Windows::Threading
- System::Windows::Input
- )
-end
\ No newline at end of file
diff --git a/IronNails/vendor/ironnails/init.rb b/IronNails/init.rb
similarity index 100%
rename from IronNails/vendor/ironnails/init.rb
rename to IronNails/init.rb
diff --git a/IronNails/ironnails.gemspec b/IronNails/ironnails.gemspec
new file mode 100644
index 0000000..d8a8518
--- /dev/null
+++ b/IronNails/ironnails.gemspec
@@ -0,0 +1,96 @@
+# Generated by jeweler
+# DO NOT EDIT THIS FILE DIRECTLY
+# Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = %q{ironnails}
+ s.version = "0.0.1"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Ivan Porto Carrero"]
+ s.date = %q{2010-02-28}
+ s.description = %q{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).}
+ s.email = %q{ivan@flanders.co.nz}
+ s.files = [
+ "Rakefile",
+ "VERSION",
+ "init.rb",
+ "ironnails.gemspec",
+ "lib/iron_nails.rb",
+ "lib/ironnails.rb",
+ "lib/ironnails/bin/IronNails.Library.dll",
+ "lib/ironnails/bin/IronRuby.Libraries.Yaml.dll",
+ "lib/ironnails/bin/IronRuby.Libraries.dll",
+ "lib/ironnails/bin/IronRuby.dll",
+ "lib/ironnails/bin/Microsoft.Dynamic.dll",
+ "lib/ironnails/bin/Microsoft.Scripting.Core.dll",
+ "lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll",
+ "lib/ironnails/bin/Microsoft.Scripting.dll",
+ "lib/ironnails/config/configuration.rb",
+ "lib/ironnails/config/initializer.rb",
+ "lib/ironnails/controller.rb",
+ "lib/ironnails/controller/base.rb",
+ "lib/ironnails/controller/view_operations.rb",
+ "lib/ironnails/core_ext.rb",
+ "lib/ironnails/core_ext/array.rb",
+ "lib/ironnails/core_ext/class.rb",
+ "lib/ironnails/core_ext/class/attribute_accessors.rb",
+ "lib/ironnails/core_ext/fixnum.rb",
+ "lib/ironnails/core_ext/hash.rb",
+ "lib/ironnails/core_ext/kernel.rb",
+ "lib/ironnails/core_ext/string.rb",
+ "lib/ironnails/core_ext/symbol.rb",
+ "lib/ironnails/core_ext/system/net/web_request.rb",
+ "lib/ironnails/core_ext/system/security/secure_string.rb",
+ "lib/ironnails/core_ext/system/windows/markup/xaml_reader.rb",
+ "lib/ironnails/core_ext/system/windows/ui_element.rb",
+ "lib/ironnails/core_ext/time.rb",
+ "lib/ironnails/errors.rb",
+ "lib/ironnails/iron_xml.rb",
+ "lib/ironnails/logger.rb",
+ "lib/ironnails/logging/buffered_logger.rb",
+ "lib/ironnails/logging/class_logger.rb",
+ "lib/ironnails/models.rb",
+ "lib/ironnails/models/base.rb",
+ "lib/ironnails/models/bindable_collection.rb",
+ "lib/ironnails/models/model_mixin.rb",
+ "lib/ironnails/nails_engine.rb",
+ "lib/ironnails/observable.rb",
+ "lib/ironnails/security/secure_string.rb",
+ "lib/ironnails/version.rb",
+ "lib/ironnails/view.rb",
+ "lib/ironnails/view/collections.rb",
+ "lib/ironnails/view/commands.rb",
+ "lib/ironnails/view/commands/add_sub_view_command.rb",
+ "lib/ironnails/view/commands/behavior_command.rb",
+ "lib/ironnails/view/commands/command.rb",
+ "lib/ironnails/view/commands/event_command.rb",
+ "lib/ironnails/view/commands/timed_command.rb",
+ "lib/ironnails/view/view.rb",
+ "lib/ironnails/view/view_model.rb",
+ "lib/ironnails/view/xaml_proxy.rb",
+ "lib/ironnails/wpf.rb",
+ "lib/ironnails/wpf_application.rb"
+ ]
+ s.homepage = %q{http://github.com/casualjim/ironnails}
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_paths = ["lib"]
+ s.rubygems_version = %q{1.3.6}
+ s.summary = %q{IronNails brings rails like development to IronRuby and WPF}
+
+ if s.respond_to? :specification_version then
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q, [">= 0"])
+ else
+ s.add_dependency(%q, [">= 0"])
+ end
+ else
+ s.add_dependency(%q, [">= 0"])
+ end
+end
+
diff --git a/IronNails/lib/core_ext.rb b/IronNails/lib/core_ext.rb
deleted file mode 100644
index 15fb84b..0000000
--- a/IronNails/lib/core_ext.rb
+++ /dev/null
@@ -1 +0,0 @@
-require File.dirname(__FILE__) + '/core_ext/string'
\ No newline at end of file
diff --git a/IronNails/lib/core_ext/string.rb b/IronNails/lib/core_ext/string.rb
deleted file mode 100644
index dca1304..0000000
--- a/IronNails/lib/core_ext/string.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-class String
-
- # returns the string with snipr urls where appropriate
- def with_shortened_urls
- split_in_words = self.split(' ').collect do |word|
- word.is_url? ? SniprUrl.new(word).shorten : word
- end
- split_in_words.join(' ')
- end
-
- def is_direct_message?
- !!(/^d\s/i =~ self)
- end
-
- def to_clr_char
- self.to_clr_string.to_char_array[0]
- end
-
- def to_created_time
- Time.parse self
- end
-
- def truncate_tweet
- if self.size > 140
- s = self[0...135]
- return s.split(' ')[0...s.split(' ').size - 1].join(' ')
- end
- self
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/lib/feed_parser.rb b/IronNails/lib/feed_parser.rb
deleted file mode 100644
index 46ced4b..0000000
--- a/IronNails/lib/feed_parser.rb
+++ /dev/null
@@ -1,97 +0,0 @@
-module IronNails
-
- module Core
-
- module FeedParser
-
- module ClassMethods
-
- def build_from(element, include_children = true)
- return nil if element.nil?
-
- item = self.new
- item.populate_properties_from element
- item.populate_children_from element if include_children
- item
- end
-
- def timestamps
- %w(created_at updated_at)
- end
-
- def properties
- raise "You need to override properties in child classes: #{self}"
- end
-
- def children
- raise "You need to override children in child classes: #{self}"
- end
-
-
- def collection
- BindableCollection
- end
-
-
- def internal_request(options, &callback)
- wc = WebClient.new options[:url], options[:credentials]
- options[:root_path] ||= self.demodulize.downcase
- if options[:entity]
- wc.get_and_return lambda { |reader| parse_element(reader, options[:root_path])}, &callback
- else
- wc.get_and_return lambda { |reader| parse_elements(reader, options[:root_path])}, &callback
- end
- end
-
- def parse_element(reader, root_path)
- item = nil
- IronXml.parse(reader, :stream) do |doc|
- item = self.build_from(doc.element(root_path))
- end
- item
- end
-
- def parse_elements(reader, root_path)
- elements = []
- IronXml.parse(reader, :stream) do |doc|
- doc.elements(root_path) do |item|
- elements << self.build_from(item)
- end
- end
- collection.new elements.compact
- end
-
- end # end of class methods
-
- def populate_properties_from(element)
- self.class.properties.each do |p|
- if element.has_element?(p)
- val = element.element(p).value
- unless val.nil?
- val = val.to_s.to_created_time if self.class.timestamps.include? p
- val = val.to_s.strip_html if p.to_s == 'source' && !val.to_s.empty?
- unless block_given? && p.to_s == 'text'
- val = HttpUtility.html_decode val if p.to_s == 'text'
- self.send("#{p}=".to_sym, val)
- else
- yield val
- end
- end
- end
- end
- end
-
- def populate_children_from(element)
- self.class.children.each do |c|
- element.element(c) do |cn|
- kn = (c == 'sender' || c == 'recipient') ? 'user' : c
- self.send("#{c}=".to_sym, kn.classify.build_from(cn, false))
- end
- end
- end
-
- end
-
- end
-
-end
\ No newline at end of file
diff --git a/IronNails/vendor/ironnails/lib/iron_nails.rb b/IronNails/lib/iron_nails.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/iron_nails.rb
rename to IronNails/lib/iron_nails.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails.rb b/IronNails/lib/ironnails.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails.rb
rename to IronNails/lib/ironnails.rb
diff --git a/IronNails/bin/IronNails.Library.dll b/IronNails/lib/ironnails/bin/IronNails.Library.dll
similarity index 100%
rename from IronNails/bin/IronNails.Library.dll
rename to IronNails/lib/ironnails/bin/IronNails.Library.dll
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.Libraries.Yaml.dll b/IronNails/lib/ironnails/bin/IronRuby.Libraries.Yaml.dll
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.Libraries.Yaml.dll
rename to IronNails/lib/ironnails/bin/IronRuby.Libraries.Yaml.dll
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.Libraries.dll b/IronNails/lib/ironnails/bin/IronRuby.Libraries.dll
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.Libraries.dll
rename to IronNails/lib/ironnails/bin/IronRuby.Libraries.dll
diff --git a/IronNails/bin/IronRuby.dll b/IronNails/lib/ironnails/bin/IronRuby.dll
similarity index 100%
rename from IronNails/bin/IronRuby.dll
rename to IronNails/lib/ironnails/bin/IronRuby.dll
diff --git a/IronNails/bin/Microsoft.Dynamic.dll b/IronNails/lib/ironnails/bin/Microsoft.Dynamic.dll
similarity index 100%
rename from IronNails/bin/Microsoft.Dynamic.dll
rename to IronNails/lib/ironnails/bin/Microsoft.Dynamic.dll
diff --git a/IronNails/bin/Microsoft.Scripting.Core.dll b/IronNails/lib/ironnails/bin/Microsoft.Scripting.Core.dll
similarity index 100%
rename from IronNails/bin/Microsoft.Scripting.Core.dll
rename to IronNails/lib/ironnails/bin/Microsoft.Scripting.Core.dll
diff --git a/IronNails/bin/Microsoft.Scripting.ExtensionAttribute.dll b/IronNails/lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll
similarity index 100%
rename from IronNails/bin/Microsoft.Scripting.ExtensionAttribute.dll
rename to IronNails/lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll
diff --git a/IronNails/bin/Microsoft.Scripting.dll b/IronNails/lib/ironnails/bin/Microsoft.Scripting.dll
similarity index 100%
rename from IronNails/bin/Microsoft.Scripting.dll
rename to IronNails/lib/ironnails/bin/Microsoft.Scripting.dll
diff --git a/IronNails/vendor/ironnails/lib/ironnails/config/configuration.rb b/IronNails/lib/ironnails/config/configuration.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/config/configuration.rb
rename to IronNails/lib/ironnails/config/configuration.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/config/initializer.rb b/IronNails/lib/ironnails/config/initializer.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/config/initializer.rb
rename to IronNails/lib/ironnails/config/initializer.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/controller.rb b/IronNails/lib/ironnails/controller.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/controller.rb
rename to IronNails/lib/ironnails/controller.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/controller/base.rb b/IronNails/lib/ironnails/controller/base.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/controller/base.rb
rename to IronNails/lib/ironnails/controller/base.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/controller/view_operations.rb b/IronNails/lib/ironnails/controller/view_operations.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/controller/view_operations.rb
rename to IronNails/lib/ironnails/controller/view_operations.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext.rb b/IronNails/lib/ironnails/core_ext.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext.rb
rename to IronNails/lib/ironnails/core_ext.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/array.rb b/IronNails/lib/ironnails/core_ext/array.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/array.rb
rename to IronNails/lib/ironnails/core_ext/array.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/class.rb b/IronNails/lib/ironnails/core_ext/class.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/class.rb
rename to IronNails/lib/ironnails/core_ext/class.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/class/attribute_accessors.rb b/IronNails/lib/ironnails/core_ext/class/attribute_accessors.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/class/attribute_accessors.rb
rename to IronNails/lib/ironnails/core_ext/class/attribute_accessors.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/fixnum.rb b/IronNails/lib/ironnails/core_ext/fixnum.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/fixnum.rb
rename to IronNails/lib/ironnails/core_ext/fixnum.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/hash.rb b/IronNails/lib/ironnails/core_ext/hash.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/hash.rb
rename to IronNails/lib/ironnails/core_ext/hash.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/kernel.rb b/IronNails/lib/ironnails/core_ext/kernel.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/kernel.rb
rename to IronNails/lib/ironnails/core_ext/kernel.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/string.rb b/IronNails/lib/ironnails/core_ext/string.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/string.rb
rename to IronNails/lib/ironnails/core_ext/string.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/symbol.rb b/IronNails/lib/ironnails/core_ext/symbol.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/symbol.rb
rename to IronNails/lib/ironnails/core_ext/symbol.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/system/net/web_request.rb b/IronNails/lib/ironnails/core_ext/system/net/web_request.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/system/net/web_request.rb
rename to IronNails/lib/ironnails/core_ext/system/net/web_request.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/system/security/secure_string.rb b/IronNails/lib/ironnails/core_ext/system/security/secure_string.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/system/security/secure_string.rb
rename to IronNails/lib/ironnails/core_ext/system/security/secure_string.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/system/windows/markup/xaml_reader.rb b/IronNails/lib/ironnails/core_ext/system/windows/markup/xaml_reader.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/system/windows/markup/xaml_reader.rb
rename to IronNails/lib/ironnails/core_ext/system/windows/markup/xaml_reader.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/system/windows/ui_element.rb b/IronNails/lib/ironnails/core_ext/system/windows/ui_element.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/system/windows/ui_element.rb
rename to IronNails/lib/ironnails/core_ext/system/windows/ui_element.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/core_ext/time.rb b/IronNails/lib/ironnails/core_ext/time.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/core_ext/time.rb
rename to IronNails/lib/ironnails/core_ext/time.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/errors.rb b/IronNails/lib/ironnails/errors.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/errors.rb
rename to IronNails/lib/ironnails/errors.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/iron_xml.rb b/IronNails/lib/ironnails/iron_xml.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/iron_xml.rb
rename to IronNails/lib/ironnails/iron_xml.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/logger.rb b/IronNails/lib/ironnails/logger.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/logger.rb
rename to IronNails/lib/ironnails/logger.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/logging/buffered_logger.rb b/IronNails/lib/ironnails/logging/buffered_logger.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/logging/buffered_logger.rb
rename to IronNails/lib/ironnails/logging/buffered_logger.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/logging/class_logger.rb b/IronNails/lib/ironnails/logging/class_logger.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/logging/class_logger.rb
rename to IronNails/lib/ironnails/logging/class_logger.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/models.rb b/IronNails/lib/ironnails/models.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/models.rb
rename to IronNails/lib/ironnails/models.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/models/base.rb b/IronNails/lib/ironnails/models/base.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/models/base.rb
rename to IronNails/lib/ironnails/models/base.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/models/bindable_collection.rb b/IronNails/lib/ironnails/models/bindable_collection.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/models/bindable_collection.rb
rename to IronNails/lib/ironnails/models/bindable_collection.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/models/model_mixin.rb b/IronNails/lib/ironnails/models/model_mixin.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/models/model_mixin.rb
rename to IronNails/lib/ironnails/models/model_mixin.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/nails_engine.rb b/IronNails/lib/ironnails/nails_engine.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/nails_engine.rb
rename to IronNails/lib/ironnails/nails_engine.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/observable.rb b/IronNails/lib/ironnails/observable.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/observable.rb
rename to IronNails/lib/ironnails/observable.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/security/secure_string.rb b/IronNails/lib/ironnails/security/secure_string.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/security/secure_string.rb
rename to IronNails/lib/ironnails/security/secure_string.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/version.rb b/IronNails/lib/ironnails/version.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/version.rb
rename to IronNails/lib/ironnails/version.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view.rb b/IronNails/lib/ironnails/view.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view.rb
rename to IronNails/lib/ironnails/view.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/collections.rb b/IronNails/lib/ironnails/view/collections.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/collections.rb
rename to IronNails/lib/ironnails/view/collections.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands.rb b/IronNails/lib/ironnails/view/commands.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands.rb
rename to IronNails/lib/ironnails/view/commands.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands/add_sub_view_command.rb b/IronNails/lib/ironnails/view/commands/add_sub_view_command.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands/add_sub_view_command.rb
rename to IronNails/lib/ironnails/view/commands/add_sub_view_command.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands/behavior_command.rb b/IronNails/lib/ironnails/view/commands/behavior_command.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands/behavior_command.rb
rename to IronNails/lib/ironnails/view/commands/behavior_command.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands/command.rb b/IronNails/lib/ironnails/view/commands/command.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands/command.rb
rename to IronNails/lib/ironnails/view/commands/command.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands/event_command.rb b/IronNails/lib/ironnails/view/commands/event_command.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands/event_command.rb
rename to IronNails/lib/ironnails/view/commands/event_command.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/commands/timed_command.rb b/IronNails/lib/ironnails/view/commands/timed_command.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/commands/timed_command.rb
rename to IronNails/lib/ironnails/view/commands/timed_command.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/view.rb b/IronNails/lib/ironnails/view/view.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/view.rb
rename to IronNails/lib/ironnails/view/view.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/view_model.rb b/IronNails/lib/ironnails/view/view_model.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/view_model.rb
rename to IronNails/lib/ironnails/view/view_model.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/view/xaml_proxy.rb b/IronNails/lib/ironnails/view/xaml_proxy.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/view/xaml_proxy.rb
rename to IronNails/lib/ironnails/view/xaml_proxy.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/wpf.rb b/IronNails/lib/ironnails/wpf.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/wpf.rb
rename to IronNails/lib/ironnails/wpf.rb
diff --git a/IronNails/vendor/ironnails/lib/ironnails/wpf_application.rb b/IronNails/lib/ironnails/wpf_application.rb
similarity index 100%
rename from IronNails/vendor/ironnails/lib/ironnails/wpf_application.rb
rename to IronNails/lib/ironnails/wpf_application.rb
diff --git a/IronNails/lib/main.rb b/IronNails/lib/main.rb
deleted file mode 100644
index 5c45fad..0000000
--- a/IronNails/lib/main.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-require File.dirname(__FILE__) + "/../config/environment"
-
-WpfApplication.new do
-
- set_skin :aero
- SylvesterController.new
-end
\ No newline at end of file
diff --git a/IronNails/lib/snipr_url.rb b/IronNails/lib/snipr_url.rb
deleted file mode 100644
index c2ddd8b..0000000
--- a/IronNails/lib/snipr_url.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-module IronNails
-
- module Core
-
- class SniprUrl
-
- include IronNails::Logging::ClassLogger
-
- attr_reader :url
-
- def initialize(url)
- @url = url
- end
-
- # ensures that our url starts with http at least
- def ensure_http
- url.ensure_http
- end
-
- # builds the url for the request to the snipr website
- def build_request_url
- "http://snipr.com/site/snip?r=simple&link=#{ensure_http}"
- end
-
- # create a webrequest, primary reason is so that we can mock it out
- # during unit testing.
- def request
- WebRequest.create(build_request_url)
- end
-
- # shorten the url ie. fetch the url from the snipr website.
- def shorten
- result = url
-
- begin
- if url.size > 18 && !/http:\/\/snipr.com.*/.match(url)
- using(rdr = StreamReader.new(request.get_response.get_response_stream)) {
- result = rdr.read_to_end.to_s
- }
- end
- rescue Exception => e
- #catch all errors and just return the regular url
- end
-
- res = ((result.size >= url.size || result.empty?) ? url.ensure_http : result).to_s
- logger.debug("*** SniprUrl: Shortened url from: #{url} to #{res}")
- res
- end
-
- end
- end
-end
\ No newline at end of file
diff --git a/IronNails/lib/web_client.rb b/IronNails/lib/web_client.rb
deleted file mode 100644
index 0cfcf2c..0000000
--- a/IronNails/lib/web_client.rb
+++ /dev/null
@@ -1,98 +0,0 @@
-module IronNails
-
- module Core
-
- # A wrapper around webrequests to facilitate the
- # creation of asynchronous gets and posts
- # This can probably be replaced at a later stage when gems are working
- class WebClient
-
- # The url for the webrequest
- attr_reader :url
-
- # The credentials for the request
- attr_reader :credentials
-
- # The request object
- attr_accessor :web_request
-
- def initialize(url, credentials)
- System::Net::ServicePointManager.expect_100_continue = false
- @url = url
- @credentials = credentials
- @web_request = System::Net::WebRequest.create url
- end
-
- # Performs a GET request and executes a parsing routine, when a block is given
- # it will perform an asynchronous GET request and execute the parsing routine
- def get_and_return(parse_response, async=false, &callback)
- raise ArgumentError.new("You need to provide me with parsing algorithm") if parse_response.nil?
-
- web_request.credentials = credentials.to_network_credentials
- web_request.clr_member(:Method=).call "GET"
- if block_given? || async
- web_request.perform_async_get parse_response, &callback
- else
- web_request.perform_get parse_response
- end
- end
-
- def get(&callback)
- raise ArgumentError.new("You need to provide me with parsing algorithm") if parse_response.nil?
-
- web_request.credentials = credentials.to_network_credentials
- web_request.clr_member(:Method=).call "GET"
- if block_given?
- web_request.perform_async_get &callback
- else
- web_request.perform_get
- end
- end
-
- # Performs a POST request with the specified parameters. It returns true or false to indicate success
- # when a block is given it will perfom the post async and return the boolean indicating success to the callback
- def post_and_return(params = {}, parse_response=nil, &callback)
- web_request.credentials = credentials.to_network_credentials
-
- if block_given?
- web_request.perform_async_post params, parse_response, &callback
- else
- web_request.perform_post params, parse_response
- end
- end
-
- protected
-
- def handle_exception(e)
- status = e.status;
- if status == WebExceptionStatus.protocol_error
- httpResponse = e.response
-
- case httpResponse.status_code
- when HttpStatusCode.NotModified: # 304 Not modified = no new tweets so ignore error.
- break;
- when HttpStatusCode.BadRequest: # rate limit exceeded
- raise RequestLimitException.new;
- when HttpStatusCode.Unauthorized: # unauthorized
- raise SecurityException.new("Not Authorized.")
- else
- raise
- end
- else
- raise
- end
- end
-
- end
-
- class RequestLimitException < System::Exception
-
- def initialize(message = "You've made too many requests. Twitter only allows 100 requests/hour.")
- super(message)
- end
- end
-
- end
-
-
-end
\ No newline at end of file
diff --git a/IronNails/skins/Aero.xaml b/IronNails/skins/Aero.xaml
deleted file mode 100644
index 985f15e..0000000
--- a/IronNails/skins/Aero.xaml
+++ /dev/null
@@ -1,887 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails/skins/AeroCompact.xaml b/IronNails/skins/AeroCompact.xaml
deleted file mode 100644
index 80794a5..0000000
--- a/IronNails/skins/AeroCompact.xaml
+++ /dev/null
@@ -1,954 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails/skins/CoolBlue.xaml b/IronNails/skins/CoolBlue.xaml
deleted file mode 100644
index 429c24d..0000000
--- a/IronNails/skins/CoolBlue.xaml
+++ /dev/null
@@ -1,914 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/IronNails.Library.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/IronNails.Library.dll
deleted file mode 100644
index 3a0f727..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/IronNails.Library.dll and /dev/null differ
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.dll
deleted file mode 100644
index d0e0d2e..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/IronRuby.dll and /dev/null differ
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Dynamic.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Dynamic.dll
deleted file mode 100644
index 38eeef6..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Dynamic.dll and /dev/null differ
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.Core.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.Core.dll
deleted file mode 100644
index df130f4..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.Core.dll and /dev/null differ
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll
deleted file mode 100644
index d08ba28..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.ExtensionAttribute.dll and /dev/null differ
diff --git a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.dll b/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.dll
deleted file mode 100644
index c50ffd5..0000000
Binary files a/IronNails/vendor/ironnails/lib/ironnails/bin/Microsoft.Scripting.dll and /dev/null differ
diff --git a/playground/databind/app.rb b/playground/databind/app.rb
deleted file mode 100644
index ec33339..0000000
--- a/playground/databind/app.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-require 'System'
-require 'WindowsBase'
-require 'PresentationCore'
-require 'PresentationFramework'
-require 'System.Windows.Forms'
-
-include System
-include System::Windows
-include System::Collections::ObjectModel
-
-class System::Windows::Markup::XamlReader
-
- def self.load_from_path(path)
- f = System::IO::FileStream.new(path, System::IO::FileMode.Open, System::IO::FileAccess.Read)
- begin
- element = Markup::XamlReader::Load(f)
- ensure
- f.close
- end
- element
- end
-end
-
-module WpfBehavior
-
- module Databinding
-
- module ClassMethods
-
- # defines a write-only attribute on an object
- # this would map to a property setter in different languages
- def attr_writer(*names)
- names.each do |nm|
- mn = nm
- self.send :define_method, "#{nm}=".to_sym do |arg|
- __vr__ = instance_variable_get :"@#{mn}"
- return __vr__ if __vr__ == arg
- instance_variable_set :"@#{mn}", arg
- raise_property_changed mn
- end
- end
- end
-
- # defines a read/write attribute on an object.
- # this would map to a property with a getter and a setter in different langauages
- def attr_accessor(*names)
- attr_reader *names
- attr_writer *names
- end
-
-
- end
-
- # extend the class with the class methods defined in this module
- def self.included(base)
- base.send :include, System::ComponentModel::INotifyPropertyChanged unless base.ancestors.include? System::ComponentModel::INotifyPropertyChanged
- base.extend ClassMethods
- end
-
- def add_PropertyChanged(handler=nil)
- @__handlers__ ||= []
- @__handlers__ << handler
- end
-
- def remove_PropertyChanged(handler=nil)
- @__handlers__ ||= []
- @__handlers__.delete handler
- end
-
- private
- def raise_property_changed(name)
- return unless @__handlers__
- @__handlers__.each do |ev|
- ev.invoke self, System::ComponentModel::PropertyChangedEventArgs.new(name) if ev.respond_to? :invoke
- ev.call self, System::ComponentModel::PropertyChangedEventArgs.new(name) if ev.respond_to? :call
- end
- end
-
- end
-
-end
-
-class Person
-
- include WpfBehavior::Databinding
-
- attr_accessor :name, :age
-
-
- def to_s
- ""
- end
-
- def initialize(attrs={})
- attrs.each do |k, v|
- self.send :"#{k}=", v
- end
- end
-
-end
-
-class ViewModel
-
- include WpfBehavior::Databinding
-
- attr_accessor :people, :new_name
-
-end
-
-if $0 == __FILE__
- view_path = File.expand_path(File.join(File.dirname(__FILE__), 'main.xaml'))
- window = Markup::XamlReader.load_from_path view_path if File.exists? view_path
- vm = ViewModel.new
- window.data_context = vm
- people_list = window.find_name("people_list")
- vm.people= ObservableCollection.of(Person).new
- [Person.new( :name => "Ivan", :age => 32), Person.new(:name => "Adam", :age => 27), Person.new(:name => "Maurits", :age => 31)].each { |p| vm.people.add p }
- people_list.items_source = vm.people
-
- btn = window.find_name("change_name")
- btn.click do |s, a|
- vm.people.first.name = vm.send :new_name
- end
-
-
- Application.new.run window
-end
\ No newline at end of file
diff --git a/playground/databind/main.xaml b/playground/databind/main.xaml
deleted file mode 100644
index 20608b5..0000000
--- a/playground/databind/main.xaml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vendor/ironruby_inline b/vendor/ironruby_inline
deleted file mode 160000
index b88e230..0000000
--- a/vendor/ironruby_inline
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b88e2309700fb3aca7fd86229c3582cdf78b05ad